Ultra Detailed Player Audit - 20261007

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.

20261007_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.5351286725, "home_win_probability": 0.46487132750000004, "away_win_probability": 0.5351286725, "predicted_score_text": "CLE 5 - 4 CHW", "uncapped_home_win_probability": 0.451379, "uncapped_away_win_probability": 0.548621, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.548621, "discount_factor": 0.7225, "published_confidence": 0.535129, "guardrail_confidence_cap": 0.56, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": false, "confidence_before_ceiling": 0.535129, "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.449263, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.464871, "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.5351286725, "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.008, "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.6667, "draw_majority_team": "CLE", "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": 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.535enhanced_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.5345; empirical=0.5819; weight=0.4500; final=0.5558
P1H2H margin as base featureavailablehome net=5; abs=5; home delta=0.0288; away delta=-0.0288
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=0.2685; recent edge=-0.0400; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5351
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.6302.802-Base ML historical model prediction
2variance_applied53-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction540.5351Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4kpi_layer54-Savant KPI blend applied to the model target
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.539574795477032,
  "base_low_score_probability": 0.4275618374558304,
  "low_score_signal_threshold": 0.5075618374558304,
  "low_score_signal_strength": 0.11201295802120165,
  "confidence": 0.7309903600000003,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.2619807200000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 9,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 464,
  "near_bucket_sample_size": 464,
  "medium_bucket_sample_size": 1089,
  "wide_bucket_sample_size": 1116,
  "global_sample_size": 1135,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5819,
  "bayesian_hit_rate": 0.5788,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5846,
  "raw_pick_probability_unclamped": 0.5846,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.4927,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5498,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.415355,
  "uncapped_away_win_probability": 0.584645,
  "calibrated_pick_probability": 0.5486,
  "predicted_side": "away",
  "reliability": 0.962656,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.975726
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.534519,
  "sample_size": 464,
  "empirical_hit_rate": 0.5819,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.555841,
  "published_confidence": 0.535129,
  "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.017682571406886477
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.01766788067777547
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.01748964662303455
    },
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.017475116176366247
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.01615689013542389
    }
  ],
  "home_distribution": {
    "0": 0.05092677718783937,
    "1": 0.07550747472048212,
    "2": 0.10117696873421211,
    "3": 0.12252405090665044,
    "4": 0.1340938918974087,
    "5": 0.1326308674019953,
    "6": 0.11855726976450373,
    "7": 0.09577667025838944,
    "8": 0.0699260899971712,
    "9": 0.04613884521810992,
    "10": 0.02751326694257132,
    "11": 0.014827419282536827,
    "12": 0.007221658384356077,
    "13": 0.003178749303773532
  },
  "away_distribution": {
    "0": 0.04918643147186386,
    "1": 0.0730093256033763,
    "2": 0.09816074872009906,
    "3": 0.11954292874158819,
    "4": 0.13186709071293787,
    "5": 0.13175753517015262,
    "6": 0.11924522642548871,
    "7": 0.09775366459122385,
    "8": 0.07258578795794711,
    "9": 0.048819873302705485,
    "10": 0.02974186542042328,
    "11": 0.01641217972377906,
    "12": 0.008203342191200962,
    "13": 0.003713999967213697
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.56,
  "winner_flipped": false,
  "reasons": [
    "recent head-to-head margin does not support a strong repeat pick",
    "a prior same-side pick already missed against the actual result"
  ],
  "signals": {
    "predicted_team": "CLE",
    "opponent_team": "CHW",
    "h2h_net_margin": 0,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-16",
        "predicted_team_runs": 6,
        "opponent_runs": 3,
        "margin_for_predicted_team": 3,
        "winner": "CLE"
      },
      {
        "date": "2026-09-15",
        "predicted_team_runs": 7,
        "opponent_runs": 6,
        "margin_for_predicted_team": 1,
        "winner": "CLE"
      },
      {
        "date": "2026-09-14",
        "predicted_team_runs": 3,
        "opponent_runs": 7,
        "margin_for_predicted_team": -4,
        "winner": "CHW"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 13,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "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"
        },
        {
          "date": "20260914",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CHW",
          "actual_margin": 4,
          "raw_pick_probability": 0.505654,
          "artifact": "20260914_CHW@CLE.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "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.1,
  "final_margin": -0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.1605,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.555841,
  "final_confidence": 0.5486,
  "calibrated_pick_probability": 0.5486,
  "shrinkage_weight": 0.975726,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 464,
  "calibration_empirical_hit_rate": 0.5819,
  "calibration_bayesian_hit_rate": 0.5788,
  "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.451379,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.975726,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.451379,
    "aligned_pick_probability": 0.548621
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 15,
    "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.008,
    "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.6667,
      "draw_majority_team": "CLE",
      "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": 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.5351286725,
  "home_win_probability": 0.46487132750000004,
  "away_win_probability": 0.5351286725,
  "predicted_score_text": "CLE 5 - 4 CHW",
  "uncapped_home_win_probability": 0.451379,
  "uncapped_away_win_probability": 0.548621,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.548621,
    "discount_factor": 0.7225,
    "published_confidence": 0.535129,
    "guardrail_confidence_cap": 0.56,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": false,
    "confidence_before_ceiling": 0.535129,
    "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.449263,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.464871,
    "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.5351286725,
    "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.008,
      "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.6667,
        "draw_majority_team": "CLE",
        "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": 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.02201.0220190
Home CHWTrue1.03651.0365190

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
CPatrick Bailey-1.03300.4406positive_batter_regression0.30700.24000.39807.7042.4090.5013.4026.8026.708.101.0286
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
DHSam Antonacci-1.04460.5947neutral0.34800.28400.3990533.6087.509.9014.7014.707.700.0857
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
CKyle Teel-1.01310.1752neutral0.32100.21100.375011.4047.1085.7013.6035.6035.4013.200.1143
2BChase Meidroth-0.9823-0.2365negative_batter_regression0.30100.23900.34804.6034.6087.208.5019.7021.909.50-1.0857
CFTristan Peters-1.00190.0255neutral0.31400.24800.38405.4034.1087.50182318.307.50-0.7429
RFBraden Montgomery-1.03050.4073neutral0.32500.25500.39204.4040.9088.90330.1019.7010.400.7714
LFRandal Grichuk-1.06250.8328negative_batter_regression0.33500.27800.478011.2049.8091.3017.102421.803.90-1
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.0365,
    "raw_average_factor": 1.0365,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "803011",
        "player_name": "Sam Antonacci",
        "offense_factor": 1.0446,
        "quality_score": 0.5947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "803011",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 7.7,
          "woba": 0.345,
          "xwoba": 0.348,
          "xba": 0.284,
          "xslg": 0.399,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 5.0,
          "hard_hit_percent": 33.6,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 9.9,
          "whiff_percent": 14.7,
          "swing_percent": 42.5
        },
        "components": {
          "expected_quality": 0.6776,
          "regression_edge": 0.0857,
          "xwoba_edge": 1.4,
          "xba_edge": 1.3714,
          "xslg_edge": 0.5143,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -0.5714,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "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": "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": "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": "CF",
        "player_id": "671976",
        "player_name": "Tristan Peters",
        "offense_factor": 1.0019,
        "quality_score": 0.0255,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671976",
          "espn_rank": null
        },
        "metrics": {
          "pa": 452.0,
          "k_percent": 18.3,
          "bb_percent": 7.5,
          "woba": 0.34,
          "xwoba": 0.314,
          "xba": 0.248,
          "xslg": 0.384,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 34.1,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 18.0,
          "whiff_percent": 23.0,
          "swing_percent": 53.6
        },
        "components": {
          "expected_quality": 0.1505,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.3429,
          "xslg_edge": 0.3,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -0.5,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "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": "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": "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.022,
    "raw_average_factor": 1.022,
    "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": "672275",
        "player_name": "Patrick Bailey",
        "offense_factor": 1.033,
        "quality_score": 0.4406,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "672275",
          "espn_rank": null
        },
        "metrics": {
          "pa": 306.0,
          "k_percent": 26.7,
          "bb_percent": 8.1,
          "woba": 0.271,
          "xwoba": 0.307,
          "xba": 0.24,
          "xslg": 0.398,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 42.4,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 13.4,
          "whiff_percent": 26.8,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": 0.3449,
          "regression_edge": 1.0286,
          "xwoba_edge": 0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.5,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.6857,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "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 CLEDaniel EspinoTrue-0.39870.45000.96611.07201.01441.0168positive_pitcher_regression0.26400.299038.5010.8036.8012.1036.40
Home CHWSean NewcombTrue--0.051911.00440.99540.99800.9958negative_pitcher_regression0.31700.285022.609.1023.906.5038.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CLEDaniel EspinoTrueNone1994.962413000000000.2800
Home CHWSean NewcombFalse-------------
Run FactorValue
away_runs_vs_home_pitcher1.0071
home_runs_vs_away_pitcher0.9892
home_pitcher_starter_only_factor1.0044
away_pitcher_starter_only_factor0.9847
home_pitcher_workload_share0.6296
away_pitcher_workload_share0.4815
home_pitcher_quality_edge-0.2246
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "656794",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 339.0,
      "k_percent": 22.6,
      "bb_percent": 9.1,
      "woba": 0.285,
      "xwoba": 0.317,
      "sweet_spot_percent": 34.1,
      "barrel_batted_rate": 6.5,
      "hard_hit_percent": 38.6,
      "avg_best_speed": 77.7324,
      "avg_hyper_speed": 94.0135,
      "whiff_percent": 23.9,
      "swing_percent": 45.9
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.0834,
      "command_and_miss": -0.0279,
      "regression_edge": -0.9143,
      "xwoba_edge": -0.1429,
      "barrel_edge": 0.1556,
      "hard_hit_edge": -0.1,
      "whiff_edge": -0.1857,
      "bb_edge": 0.025,
      "pitch_design_score": 0.0
    },
    "pitch_movement_profile": {
      "available": false,
      "pitcher_id": "656794",
      "reason": "pitcher_movement_profile_has_no_pitches"
    },
    "quality_score": -0.0519,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0044,
    "strikeout_factor": 0.9954,
    "walk_factor": 0.998,
    "homer_factor": 0.9958,
    "woba_minus_xwoba": -0.032,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "656794",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "682982",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 52.0,
      "k_percent": 38.5,
      "bb_percent": 10.8,
      "woba": 0.299,
      "xwoba": 0.264,
      "sweet_spot_percent": 27.3,
      "barrel_batted_rate": 12.1,
      "hard_hit_percent": 36.4,
      "avg_best_speed": 72.8972,
      "avg_hyper_speed": 93.1724,
      "whiff_percent": 36.8,
      "swing_percent": 48.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.6419,
      "command_and_miss": 1.5543,
      "regression_edge": 1.0,
      "xwoba_edge": 1.3714,
      "barrel_edge": -1.0889,
      "hard_hit_edge": 0.2143,
      "whiff_edge": 1.6571,
      "bb_edge": -0.4,
      "pitch_design_score": 0.28
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "682982",
      "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.96482029799016,
        "release_spin_rate": 2413.0714912015155,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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.96482029799016,
          "release_spin_rate": 2413.0714912015155,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.9648,
        "release_spin_rate": 2413.0715,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.28,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 2.0,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.3987,
    "sample_weight": 0.45,
    "run_prevention_factor": 0.9661,
    "strikeout_factor": 1.072,
    "walk_factor": 1.0144,
    "homer_factor": 1.0168,
    "woba_minus_xwoba": 0.035,
    "regression_flag": "positive_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "682982",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0071,
    "home_runs_vs_away_pitcher": 0.9892,
    "home_pitcher_starter_only_factor": 1.0044,
    "away_pitcher_starter_only_factor": 0.9847,
    "home_pitcher_workload_share": 0.6296,
    "away_pitcher_workload_share": 0.4815,
    "home_pitcher_quality_edge": -0.2246
  },
  "score_before": {
    "away_runs": 5.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 5.0353,
    "home_runs": 3.9569,
    "home_win_probability": 0.4043
  },
  "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 CLE36951527
Player finalized CHW336424110
Player model fractional CLE33.097.483.991.024.163.296.80
Player model fractional CHW30.827.304.821.144.333.819.67
Simulation box CLE36951527
Simulation box CHW336424110

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 CLEStarterDaniel Espino435315.171.40True
Away CLEMiddle RelieverTim Herrin111102.941.48True
Away CLEMiddle Reliever (High Leverage)Erik Sabrowski101104.331.24True
Away CLEMiddle Reliever (High Leverage)Shawn Armstrong303104.571.17True
Home CHWStarterSean Newcomb3.1023414.181.24True
Home CHWLong RelieverHagen Smith1.1021202.731.13True
Home CHWMiddle Reliever (High Leverage)Jordan Hicks111215.081.49True
Home CHWMiddle Reliever (High Leverage)Bryan Hudson3.1002103.441.27True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeCHWpitcherStarterSean Newcombworse42204predicted_SO-4.0000deboostworse
homeCHWpitcherMiddle Reliever (High Leverage)Bryan Hudsonbetter33021predicted_IP2.1000boostbetter
awayCLEpitcherStarterDaniel Espinobetter52332predicted_BB-2.0000deboostbetter
awayCLEpitcherMiddle Reliever (High Leverage)Shawn Armstrongbetter11010predicted_IP2.0000boostbetter
homeCHWpitcherMiddle Reliever (High Leverage)Jordan Hicksbetter30330predicted_ER-2.0000deboostbetter
awayCLEbatter1BNathaniel Lowebetter117483predicted_2B1.8140boostbetter
awayCLEbatter2BTravis Bazzanabetter96354predicted_RBI1.7100boostbetter
homeCHWbatter1BMunetaka Murakamideboosted104655predicted_SO-1.5570deboostbetter
awayCLEbatter3BJosé Ramírezbetter118392predicted_RBI1.5400boostbetter
awayCLEbatterSSBrayan Rocchioworse113829predicted_SO1.4370boostworse
homeCHWbatterCFTristan Petersworse93627predicted_SO1.3870boostworse
homeCHWbatterRFBraden Montgomeryworse115647predicted_SO1.1870boostworse
awayCLEbatterCFSteven Kwanworse102837predicted_H-1.0200deboostworse
awayCLEpitcherMiddle RelieverTim Herrinworse43104predicted_ER1.0000boostworse
awayCLEpitcherMiddle Reliever (High Leverage)Erik Sabrowskibetter11010predicted_SO1.0000boostbetter
homeCHWpitcherLong RelieverHagen Smithworse32112predicted_ER1.0000boostworse
awayCLEbatterCPatrick Baileyworse114738predicted_AB0.9900boostbetter
awayCLEbatterDHJo Adellworse105546predicted_SO0.9880boostworse
homeCHWbatterDHSam Antonacciworse1221039predicted_H-0.9510deboostworse
awayCLEbatterLFAngel Martínezworse114738predicted_H-0.9200deboostworse
homeCHWbatterLFRandal Grichukworse116556predicted_HR0.8620boostbetter
homeCHWbatterCKyle Teelworse1239210predicted_H-0.8500deboostworse
homeCHWbatterSSColson Montgomerybetter116574predicted_HR0.8300boostbetter
homeCHWbatter3BMiguel Vargasworse116556predicted_2B0.8090boostbetter
homeCHWbatter2BChase Meidrothworse11110011predicted_RBI-0.7100deboostworse
awayCLEbatterRFChase DeLauterworse102837predicted_SO-0.6230deboostbetter

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
PitcherDaniel Espino
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3987
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo94.9648
Avg Spin2413.0715
HB Inches0
IVB Inches0
Release Extension0
Pre IP4
Pre ER3
Pre H3
Pre BB1
Pre SO5
Season ERA3.9375
Season WHIP1.3125
Role Avg IP1.3330
Recent Avg IP1.3330
Last Start IP1
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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "defense_index": 1.0099,
    "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.0676,
    "opponent_offense_edge": 0.0672,
    "defense_strength": 0.0902,
    "opponent_defense_weakness": -0.0099,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0014,
    "strikeout": 0.9948
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "682982",
    "profile": {
      "available": true,
      "pitcher_id": "682982",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 52.0,
        "k_percent": 38.5,
        "bb_percent": 10.8,
        "woba": 0.299,
        "xwoba": 0.264,
        "sweet_spot_percent": 27.3,
        "barrel_batted_rate": 12.1,
        "hard_hit_percent": 36.4,
        "avg_best_speed": 72.8972,
        "avg_hyper_speed": 93.1724,
        "whiff_percent": 36.8,
        "swing_percent": 48.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.6419,
        "command_and_miss": 1.5543,
        "regression_edge": 1.0,
        "xwoba_edge": 1.3714,
        "barrel_edge": -1.0889,
        "hard_hit_edge": 0.2143,
        "whiff_edge": 1.6571,
        "bb_edge": -0.4,
        "pitch_design_score": 0.28
      },
      "quality_score": 0.3987,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9661,
      "strikeout_factor": 1.072,
      "walk_factor": 1.0144,
      "homer_factor": 1.0168,
      "woba_minus_xwoba": 0.035,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "682982",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9847,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9847,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.0065,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0076,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 1.0324,
        "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": 11.0,
    "ER": 4,
    "H": 8,
    "BB": 5,
    "SO": 16,
    "HR": 2,
    "ERA": 3.272727272727273,
    "WHIP": 1.1818181818181819,
    "K9": 13.090909090909092,
    "HR9": 1.6363636363636365,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "682982",
  "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.96482029799016,
    "release_spin_rate": 2413.0714912015155,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.96482029799016,
      "release_spin_rate": 2413.0714912015155,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9648,
    "release_spin_rate": 2413.0715,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 3.304,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3979,
    "prior_weight": 0.6021
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682982",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 15,
  "reference_playing_time": 4.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 2.0,
        "BF": 18.0,
        "Pitches": 81.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.8,
        "R": 0.8,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.0,
        "HR": 0.4,
        "BF": 3.6,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 1.75,
        "ER_per_IP": 1.0,
        "H_per_IP": 0.75,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.5
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 5.0,
        "SO": 16.0,
        "HR": 2.0,
        "BF": 45.0,
        "Pitches": 184.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.5,
        "SO": 1.6,
        "HR": 0.2,
        "BF": 4.5,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 3.2727,
        "WHIP": 1.1818,
        "ER_per_IP": 0.36364,
        "H_per_IP": 0.72727,
        "BB_per_IP": 0.45455,
        "SO_per_IP": 1.45455,
        "HR_per_IP": 0.18182
      }
    },
    "season": {
      "games": 15,
      "totals": {
        "IP": 16.0,
        "ER": 7.0,
        "R": 7.0,
        "H": 13.0,
        "BB": 8.0,
        "SO": 25.0,
        "HR": 3.0,
        "BF": 68.0,
        "Pitches": 285.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4667,
        "R": 0.4667,
        "H": 0.8667,
        "BB": 0.5333,
        "SO": 1.6667,
        "HR": 0.2,
        "BF": 4.5333,
        "Pitches": 19.0
      },
      "rates": {
        "ERA": 3.9375,
        "WHIP": 1.3125,
        "ER_per_IP": 0.4375,
        "H_per_IP": 0.8125,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.5625,
        "HR_per_IP": 0.1875
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.0,
    "predicted_ER": 1.691,
    "predicted_H": 2.634,
    "predicted_BB": 1.506,
    "predicted_SO": 3.281,
    "predicted_HR": 0.645,
    "predicted_ERA": 5.1651,
    "predicted_WHIP": 1.4046
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6044,
  "form_weight": 0.3956,
  "form_reliability": 0.3979,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.304,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3979,
    "prior_weight": 0.6021
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.1,
      "form": 3.0,
      "final": 3.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 1.691,
      "final": 3.0865,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 2.634,
      "final": 2.2508,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.506,
      "final": 2.409,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 3.281,
      "final": 3.1112,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.645,
      "final": 0.8596,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.1651,
      "final": 5.1651,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4046,
      "final": 1.4046,
      "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
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 ER1
Pre H1
Pre BB0
Pre SO1
Season ERA2.9653
Season WHIP1.2832
Role Avg IP0.8480
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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "defense_index": 1.0099,
    "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.0676,
    "opponent_offense_edge": 0.0672,
    "defense_strength": 0.0902,
    "opponent_defense_weakness": -0.0099,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0014,
    "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": 10,
    "BB": 4,
    "SO": 11,
    "HR": 0,
    "ERA": 2.0,
    "WHIP": 1.5555555555555556,
    "K9": 11.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-03T00: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": 11.908,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7043,
    "prior_weight": 0.2957
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682120",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 68,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.6154,
        "ER_per_IP": 0.23077,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 2.0,
        "R": 4.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 191.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 19.1
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 1.5556,
        "ER_per_IP": 0.22222,
        "H_per_IP": 1.11111,
        "BB_per_IP": 0.44444,
        "SO_per_IP": 1.22222,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 68,
      "totals": {
        "IP": 57.2,
        "ER": 19.0,
        "R": 22.0,
        "H": 46.0,
        "BB": 28.0,
        "SO": 55.0,
        "HR": 5.0,
        "BF": 243.0,
        "Pitches": 997.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2794,
        "R": 0.3235,
        "H": 0.6765,
        "BB": 0.4118,
        "SO": 0.8088,
        "HR": 0.0735,
        "BF": 3.5735,
        "Pitches": 14.6618
      },
      "rates": {
        "ERA": 2.9653,
        "WHIP": 1.2832,
        "ER_per_IP": 0.32948,
        "H_per_IP": 0.79769,
        "BB_per_IP": 0.48555,
        "SO_per_IP": 0.95376,
        "HR_per_IP": 0.08671
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.326,
    "predicted_H": 1.043,
    "predicted_BB": 0.437,
    "predicted_SO": 1.004,
    "predicted_HR": 0.056,
    "predicted_ERA": 2.9364,
    "predicted_WHIP": 1.48
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4749,
  "form_weight": 0.5251,
  "form_reliability": 0.7043,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.908,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7043,
    "prior_weight": 0.2957
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.326,
      "final": 0.1712,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.043,
      "final": 0.5476,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.437,
      "final": 0.2295,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.004,
      "final": 1.477,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.056,
      "final": 0.0294,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9364,
      "final": 2.9364,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.48,
      "final": 1.48,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherErik Sabrowski
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5594
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0383
Avg Velo90.5485
Avg Spin2569.9294
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "defense_index": 1.0099,
    "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.0676,
    "opponent_offense_edge": 0.0672,
    "defense_strength": 0.0902,
    "opponent_defense_weakness": -0.0099,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0014,
    "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": "20261007",
  "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.636,
    "predicted_BB": 0.606,
    "predicted_SO": 1.272,
    "predicted_HR": 0.056,
    "predicted_ERA": 4.335,
    "predicted_WHIP": 1.2419
  }
}
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": 0.0,
      "form": 0.482,
      "final": 0.2474,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.636,
      "final": 0.8131,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.606,
      "final": 0.3111,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.272,
      "final": 0.653,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.056,
      "final": 0.0287,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.335,
      "final": 4.335,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2419,
      "final": 1.2419,
      "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
PitcherShawn Armstrong
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0333
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0203
Avg Velo90.2268
Avg Spin2349.9541
HB Inches0
IVB Inches0
Release Extension0
Pre IP3
Pre ER0
Pre H1
Pre BB0
Pre SO3
Season ERA2.9455
Season WHIP1.2000
Role Avg IP0.9170
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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "defense_index": 1.0099,
    "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.0676,
    "opponent_offense_edge": 0.0672,
    "defense_strength": 0.0902,
    "opponent_defense_weakness": -0.0099,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0014,
    "strikeout": 0.9948
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "542888",
    "profile": {
      "available": true,
      "pitcher_id": "542888",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 144.0,
        "k_percent": 22.1,
        "bb_percent": 12.3,
        "woba": 0.313,
        "xwoba": 0.315,
        "sweet_spot_percent": 31.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 35.4,
        "avg_best_speed": 78.2986,
        "avg_hyper_speed": 93.4,
        "whiff_percent": 23.7,
        "swing_percent": 49.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.0109,
        "command_and_miss": -0.23,
        "regression_edge": -0.0571,
        "xwoba_edge": -0.0857,
        "barrel_edge": 0.0222,
        "hard_hit_edge": 0.3571,
        "whiff_edge": -0.2143,
        "bb_edge": -0.775,
        "pitch_design_score": 0.0203
      },
      "quality_score": -0.0333,
      "sample_weight": 0.576,
      "run_prevention_factor": 1.0028,
      "strikeout_factor": 0.9951,
      "walk_factor": 1.0357,
      "homer_factor": 0.9922,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "542888",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0016,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0016,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0206,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9955,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9972,
        "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": 8.1,
    "ER": 3,
    "H": 6,
    "BB": 3,
    "SO": 7,
    "HR": 0,
    "ERA": 3.2400000000000007,
    "WHIP": 1.08,
    "K9": 7.560000000000001,
    "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": "542888",
  "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": 90.22681028908328,
    "release_spin_rate": 2349.954138348354,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.22681028908328,
      "release_spin_rate": 2349.954138348354,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2268,
    "release_spin_rate": 2349.9541,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0203,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1451,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.571,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6023,
    "prior_weight": 0.3977
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "542888",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 40,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.4,
        "BB": 0.4,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 0.9231,
        "ER_per_IP": 0.69231,
        "H_per_IP": 0.46154,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 0.46154,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 34.0,
        "Pitches": 133.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.6,
        "BB": 0.3,
        "SO": 0.7,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 13.3
      },
      "rates": {
        "ERA": 3.24,
        "WHIP": 1.08,
        "ER_per_IP": 0.36,
        "H_per_IP": 0.72,
        "BB_per_IP": 0.36,
        "SO_per_IP": 0.84,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 40,
      "totals": {
        "IP": 36.2,
        "ER": 12.0,
        "R": 13.0,
        "H": 27.0,
        "BB": 17.0,
        "SO": 35.0,
        "HR": 3.0,
        "BF": 151.0,
        "Pitches": 621.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.325,
        "H": 0.675,
        "BB": 0.425,
        "SO": 0.875,
        "HR": 0.075,
        "BF": 3.775,
        "Pitches": 15.525
      },
      "rates": {
        "ERA": 2.9455,
        "WHIP": 1.2,
        "ER_per_IP": 0.32727,
        "H_per_IP": 0.73636,
        "BB_per_IP": 0.46364,
        "SO_per_IP": 0.95455,
        "HR_per_IP": 0.08182
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.472,
    "predicted_H": 0.704,
    "predicted_BB": 0.379,
    "predicted_SO": 0.733,
    "predicted_HR": 0.064,
    "predicted_ERA": 4.5658,
    "predicted_WHIP": 1.1655
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.518,
  "form_weight": 0.482,
  "form_reliability": 0.6023,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.571,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6023,
    "prior_weight": 0.3977
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.472,
      "final": 0.2275,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.704,
      "final": 0.8573,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.379,
      "final": 0.1827,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 0.733,
      "final": 1.9074,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.064,
      "final": 0.0308,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.5658,
      "final": 4.5658,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1655,
      "final": 1.1655,
      "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 20261007: 608
All-history rows before 20261007: 608
System season_avg: 0.2810
Data season_avg (2026 season-to-date): 0.2846
Diff (system - data): -0.0036
System opponent_avg: 0.2690

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1430.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0200.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6264.0004.000Hitting_AB3.7224.0000.2780.000
predicted_AVG0.2810.0000.000Hitting_AVG0.2850.250-0.285-0.250
predicted_BB0.5651.0001.000Hitting_BB0.5900.0000.4101.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.3780.2000.200Hitting_OBP0.3840.250-0.184-0.050
predicted_R0.5370.0000.000Hitting_R0.6051.000-0.605-1.000
predicted_RBI0.2180.0000.000Hitting_RBI0.2380.000-0.2380.000
predicted_SLG0.3490.0000.000Hitting_SLG0.3520.250-0.352-0.250
predicted_SO0.3880.0000.000Hitting_SO0.4230.000-0.4230.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.5650 -> 1.0000 (boost 0.4350, 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_blend22020predicted_BB: 0.5650 -> 0.6169 (boost 0.0519, 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.6154 -> 1.0000 (boost 0.3846, better)predicted_SO: 0.3566 -> 0.0000 (deboost -0.3566, better)AB rounded to 4 (raw=3.63), rates preserved: AVG=0.266 HR/AB=0.005
6consistency_constraints11010predicted_R: 0.5274 -> 1.0000 (boost 0.4726, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54132predicted_SO: 0.0000 -> 0.4772 (boost 0.4772, worse)predicted_BB: 1.0000 -> 0.5316 (deboost -0.4684, 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_allocation81726predicted_BB: 0.5316 -> 1.0000 (boost 0.4684, better)predicted_SO: 0.4772 -> 0.0000 (deboost -0.4772, 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 club run ratio within 2% of 1.0; 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_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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final22020predicted_SLG: 0.3360 -> 0.3440 (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": "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.143,
        "predicted_3B": 0.02,
        "predicted_AB": 3.626,
        "predicted_AVG": 0.281,
        "predicted_BB": 0.565,
        "predicted_H": 1.02,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.378,
        "predicted_R": 0.537,
        "predicted_RBI": 0.218,
        "predicted_SLG": 0.349,
        "predicted_SO": 0.388
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1194,
        "predicted_3B": 0.0423,
        "predicted_AB": 3.6168,
        "predicted_AVG": 0.2803,
        "predicted_BB": 0.6169,
        "predicted_H": 1.0143,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0187,
        "predicted_OBP": 0.385,
        "predicted_R": 0.5309,
        "predicted_RBI": 0.2202,
        "predicted_SLG": 0.3529,
        "predicted_SO": 0.3557
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.565,
          "after": 0.6169,
          "delta": 0.0519,
          "percent_delta": 0.0919,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.378,
          "after": 0.385,
          "delta": 0.007,
          "percent_delta": 0.0185,
          "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_BB",
          "before": 0.565,
          "after": 0.6169,
          "delta": 0.0519,
          "percent_delta": 0.0919,
          "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": 147
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1194,
        "predicted_3B": 0.0423,
        "predicted_AB": 3.6168,
        "predicted_AVG": 0.2792,
        "predicted_BB": 0.6154,
        "predicted_H": 1.0099,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0185,
        "predicted_OBP": 0.384,
        "predicted_R": 0.5274,
        "predicted_RBI": 0.2188,
        "predicted_SLG": 0.351,
        "predicted_SO": 0.3566
      },
      "changed_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.63), rates preserved: AVG=0.266 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.1194,
          "after": 0.0,
          "delta": -0.1194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6168,
          "after": 4.0,
          "delta": 0.3832,
          "percent_delta": 0.106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6154,
          "after": 1.0,
          "delta": 0.3846,
          "percent_delta": 0.625,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2188,
          "after": 0.0,
          "delta": -0.2188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3566,
          "after": 0.0,
          "delta": -0.3566,
          "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.6154,
          "after": 1.0,
          "delta": 0.3846,
          "percent_delta": 0.625,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3566,
          "after": 0.0,
          "delta": -0.3566,
          "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.5274,
          "after": 1.0,
          "delta": 0.4726,
          "percent_delta": 0.8961,
          "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.5274,
          "after": 1.0,
          "delta": 0.4726,
          "percent_delta": 0.8961,
          "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.1578,
        "predicted_3B": 0.0162,
        "predicted_BB": 0.5316,
        "predicted_H": 0.9549,
        "predicted_HR": 0.0528,
        "predicted_RBI": 0.3094,
        "predicted_SO": 0.4772
      },
      "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": 1.0,
          "after": 0.5316,
          "delta": -0.4684,
          "percent_delta": -0.4684,
          "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.3094,
          "delta": 0.3094,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4772,
          "delta": 0.4772,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4772,
          "delta": 0.4772,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5316,
          "delta": -0.4684,
          "percent_delta": -0.4684,
          "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.246,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.336,
        "predicted_SO": 0.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.2792,
          "after": 0.246,
          "delta": -0.0332,
          "percent_delta": -0.1189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5316,
          "after": 1.0,
          "delta": 0.4684,
          "percent_delta": 0.8811,
          "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.384,
          "after": 0.342,
          "delta": -0.042,
          "percent_delta": -0.1094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3094,
          "after": 0.0,
          "delta": -0.3094,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.336,
          "delta": -0.015,
          "percent_delta": -0.0427,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4772,
          "after": 0.0,
          "delta": -0.4772,
          "percent_delta": -1.0,
          "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_BB",
          "before": 0.5316,
          "after": 1.0,
          "delta": 0.4684,
          "percent_delta": 0.8811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4772,
          "after": 0.0,
          "delta": -0.4772,
          "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.246,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.336,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.246,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.342,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.336,
        "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": 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": 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": 0.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": 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": 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": 4.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.345,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.344,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.252,
          "delta": 0.006,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.336,
          "after": 0.344,
          "delta": 0.008,
          "percent_delta": 0.0238,
          "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.336,
          "after": 0.344,
          "delta": 0.008,
          "percent_delta": 0.0238,
          "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.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.626,
        "after": 4.0,
        "delta": 0.374,
        "percent_delta": 0.1031,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.281,
        "after": 0.252,
        "delta": -0.029,
        "percent_delta": -0.1032,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "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.378,
        "after": 0.345,
        "delta": -0.033,
        "percent_delta": -0.0873,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.537,
        "after": 0.0,
        "delta": -0.537,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.218,
        "after": 0.0,
        "delta": -0.218,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.349,
        "after": 0.344,
        "delta": -0.005,
        "percent_delta": -0.0143,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.388,
        "after": 0.0,
        "delta": -0.388,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "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.143-
predicted_3B0.020-
predicted_AB3.626-
predicted_AVG0.281-
predicted_BB0.565-
predicted_H1.020-
predicted_HR0.020-
predicted_OBP0.378-
predicted_R0.537-
predicted_RBI0.218-
predicted_SLG0.349-
predicted_SO0.388-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.119-0.024
predicted_3B0.0420.022
predicted_AB3.617-0.009
predicted_AVG0.280-0.001
predicted_BB0.6170.052
predicted_H1.014-0.006
predicted_HBP0.013-
predicted_HR0.019-0.001
predicted_OBP0.3850.007
predicted_R0.531-0.006
predicted_RBI0.2200.002
predicted_SLG0.3530.004
predicted_SO0.356-0.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.1190.000
predicted_3B0.0420.000
predicted_AB3.6170.000
predicted_AVG0.279-0.001
predicted_BB0.615-0.002
predicted_H1.010-0.004
predicted_HBP0.0130.000
predicted_HR0.018-0.000
predicted_OBP0.384-0.001
predicted_R0.527-0.004
predicted_RBI0.219-0.001
predicted_SLG0.351-0.002
predicted_SO0.3570.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.63), rates preserved: AVG=0.266 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.1580.158
3B0.0160.016
BB0.532-0.468
H0.955-0.045
HR0.0530.053
RBI0.3090.309
SO0.4770.477
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.016
AB4.0000.000
AVG0.246-
BB1.0000.468
H1.0000.045
HR0.000-0.053
OBP0.342-
R1.0000.000
RBI0.000-0.309
SLG0.336-
SO0.000-0.477
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.042
predicted_AB4.0000.383
predicted_AVG0.246-0.033
predicted_BB1.0000.385
predicted_H1.000-0.010
predicted_HR0.000-0.018
predicted_OBP0.342-0.042
predicted_R1.0000.473
predicted_RBI0.000-0.219
predicted_SLG0.336-0.015
predicted_SO0.000-0.357
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2460.000
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3420.000
R1.0000.000
RBI0.0000.000
SLG0.3360.000
SO0.0000.000
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
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
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
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
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 147
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.0000.0001.0000.0001.0003.0005.0000.0000.23530.40910.35290.23530.00000.05880.29410.0000
last_100.2010-37.00012.0000.0001.0000.0002.0004.0008.0003.0000.32430.44440.37840.32430.00000.05410.21620.0811
season0.60147-533.000150.00021.0003.0003.00032.00079.00083.00057.0000.28140.37940.34900.28140.00560.06000.15570.1069
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0890
predicted_3B0.0710
predicted_AB3.6050
predicted_AVG0.2793
predicted_BB0.6840
predicted_H1.0070
predicted_HBP0.0130
predicted_HR0.0170
predicted_OBP0.3941
predicted_R0.5230
predicted_RBI0.2230
predicted_SLG0.3580
predicted_SO0.3140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14300.08900.1194model_form_blend
predicted_3B0.02000.07100.0423model_form_blend
predicted_AB3.62603.60503.6168model_form_blend
predicted_AVG0.28100.27930.2803model_form_blend
predicted_BB0.56500.68400.6169model_form_blend
predicted_H1.02001.00701.0143model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.02000.01700.0187model_form_blend
predicted_OBP0.37800.39410.3850model_form_blend
predicted_R0.53700.52300.5309model_form_blend
predicted_RBI0.21800.22300.2202model_form_blend
predicted_SLG0.34900.35800.3529model_form_blend
predicted_SO0.38800.31400.3557model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_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
gameID20261005_CHW@CLE
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posLF
startedTrue
startingPositionCF
teamCLE
teamID8
game_date2026-10-05
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 20261007: 511
All-history rows before 20261007: 511
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2342
Diff (system - data): -0.0032
System opponent_avg: 0.4390

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2200.0000.000Hitting_2B0.2390.000-0.2390.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1805.0005.000Hitting_AB3.8283.0001.1722.000
predicted_AVG0.2120.4000.400Hitting_AVG0.2340.0000.1660.400
predicted_BB0.4960.0000.000Hitting_BB0.5171.000-0.517-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.8902.0002.000Hitting_H0.8960.0001.1042.000
predicted_HR0.0901.0001.000Hitting_HR0.1000.0000.9001.000
predicted_OBP0.3100.4000.400Hitting_OBP0.3260.2500.0740.150
predicted_R0.5691.0001.000Hitting_R0.5811.0000.4190.000
predicted_RBI0.4602.0002.000Hitting_RBI0.4660.0001.5342.000
predicted_SLG0.3441.0001.000Hitting_SLG0.3750.0000.6251.000
predicted_SO0.5770.0000.000Hitting_SO0.5712.000-0.571-2.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.4600 -> 2.0000 (boost 1.5400, better)
Biggest Deboostpredicted_SO: 0.5770 -> 0.0000 (deboost -0.5770, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.1800 -> 4.0305 (deboost -0.1495, 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.3361 -> 0.3269 (deboost -0.0092, 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.6054 -> 1.0000 (boost 0.3946, worse)predicted_BB: 0.4983 -> 0.0000 (deboost -0.4983, worse)AB rounded to 4 (raw=4.18), rates preserved: AVG=0.199 HR/AB=0.020
6consistency_constraints11010predicted_R: 0.6012 -> 1.0000 (boost 0.3988, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.5450 (boost 0.5450, better)predicted_SO: 1.0000 -> 0.6272 (deboost -0.3728, 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_allocation86253predicted_2B: 0.2056 -> 1.0000 (boost 0.7944, better)predicted_RBI: 0.4521 -> 0.0000 (deboost -0.4521, 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 club run ratio within 2% of 1.0; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization74352predicted_RBI: 0.0000 -> 2.0000 (boost 2.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_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.22,
        "predicted_3B": 0.0,
        "predicted_AB": 4.18,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.496,
        "predicted_H": 0.89,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.31,
        "predicted_R": 0.569,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.344,
        "predicted_SO": 0.577
      },
      "changed_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.1913,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0305,
        "predicted_AVG": 0.2163,
        "predicted_BB": 0.4995,
        "predicted_H": 0.8731,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0861,
        "predicted_OBP": 0.3096,
        "predicted_R": 0.6051,
        "predicted_RBI": 0.4435,
        "predicted_SLG": 0.3361,
        "predicted_SO": 0.6039
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.18,
          "after": 4.0305,
          "delta": -0.1495,
          "percent_delta": -0.0358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3361,
          "delta": -0.0079,
          "percent_delta": -0.023,
          "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_AB",
          "before": 4.18,
          "after": 4.0305,
          "delta": -0.1495,
          "percent_delta": -0.0358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 123
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1913,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0305,
        "predicted_AVG": 0.2157,
        "predicted_BB": 0.4983,
        "predicted_H": 0.8693,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0853,
        "predicted_OBP": 0.302,
        "predicted_R": 0.6012,
        "predicted_RBI": 0.4406,
        "predicted_SLG": 0.3269,
        "predicted_SO": 0.6054
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3096,
          "after": 0.302,
          "delta": -0.0076,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3361,
          "after": 0.3269,
          "delta": -0.0092,
          "percent_delta": -0.0274,
          "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.3361,
          "after": 0.3269,
          "delta": -0.0092,
          "percent_delta": -0.0274,
          "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.18), rates preserved: AVG=0.199 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1913,
          "after": 0.0,
          "delta": -0.1913,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4983,
          "after": 0.0,
          "delta": -0.4983,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8693,
          "after": 1.0,
          "delta": 0.1307,
          "percent_delta": 0.1504,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0853,
          "after": 0.0,
          "delta": -0.0853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4406,
          "after": 0.0,
          "delta": -0.4406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6054,
          "after": 1.0,
          "delta": 0.3946,
          "percent_delta": 0.6518,
          "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.6054,
          "after": 1.0,
          "delta": 0.3946,
          "percent_delta": 0.6518,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4983,
          "after": 0.0,
          "delta": -0.4983,
          "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.6012,
          "after": 1.0,
          "delta": 0.3988,
          "percent_delta": 0.6633,
          "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.6012,
          "after": 1.0,
          "delta": 0.3988,
          "percent_delta": 0.6633,
          "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.2056,
        "predicted_3B": 0.0084,
        "predicted_BB": 0.545,
        "predicted_H": 0.8695,
        "predicted_HR": 0.1151,
        "predicted_RBI": 0.4521,
        "predicted_SO": 0.6272
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2056,
          "delta": 0.2056,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.545,
          "delta": 0.545,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8695,
          "delta": -0.1305,
          "percent_delta": -0.1305,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1151,
          "delta": 0.1151,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4521,
          "delta": 0.4521,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6272,
          "delta": -0.3728,
          "percent_delta": -0.3728,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.545,
          "delta": 0.545,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6272,
          "delta": -0.3728,
          "percent_delta": -0.3728,
          "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.22,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2056,
          "after": 1.0,
          "delta": 0.7944,
          "percent_delta": 3.8638,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.545,
          "after": 1.0,
          "delta": 0.455,
          "percent_delta": 0.8349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8695,
          "after": 1.0,
          "delta": 0.1305,
          "percent_delta": 0.1501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1151,
          "after": 0.0,
          "delta": -0.1151,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.319,
          "delta": 0.017,
          "percent_delta": 0.0563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4521,
          "after": 0.0,
          "delta": -0.4521,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3269,
          "after": 0.363,
          "delta": 0.0361,
          "percent_delta": 0.1104,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6272,
          "after": 1.0,
          "delta": 0.3728,
          "percent_delta": 0.5944,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.2056,
          "after": 1.0,
          "delta": 0.7944,
          "percent_delta": 3.8638,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4521,
          "after": 0.0,
          "delta": -0.4521,
          "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.22,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.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": "kpi_run_environment",
      "description": "KPI club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.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": 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": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.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_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_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": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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": 5.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 0.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.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.18,
        "after": 5.0,
        "delta": 0.82,
        "percent_delta": 0.1962,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.22,
        "delta": 0.008,
        "percent_delta": 0.0377,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.496,
        "after": 0.0,
        "delta": -0.496,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 2.0,
        "delta": 1.11,
        "percent_delta": 1.2472,
        "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.31,
        "after": 0.319,
        "delta": 0.009,
        "percent_delta": 0.029,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.569,
        "after": 1.0,
        "delta": 0.431,
        "percent_delta": 0.7575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.344,
        "after": 0.363,
        "delta": 0.019,
        "percent_delta": 0.0552,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.577,
        "after": 0.0,
        "delta": -0.577,
        "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.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.577,
        "after": 0.0,
        "delta": -0.577,
        "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.220-
predicted_3B0.000-
predicted_AB4.180-
predicted_AVG0.212-
predicted_BB0.496-
predicted_H0.890-
predicted_HR0.090-
predicted_OBP0.310-
predicted_R0.569-
predicted_RBI0.460-
predicted_SLG0.344-
predicted_SO0.577-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.191-0.029
predicted_3B0.0000.000
predicted_AB4.030-0.149
predicted_AVG0.2160.004
predicted_BB0.4990.004
predicted_H0.873-0.017
predicted_HBP0.016-
predicted_HR0.086-0.004
predicted_OBP0.310-0.000
predicted_R0.6050.036
predicted_RBI0.444-0.017
predicted_SLG0.336-0.008
predicted_SO0.6040.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.1910.000
predicted_3B0.0000.000
predicted_AB4.0300.000
predicted_AVG0.216-0.001
predicted_BB0.498-0.001
predicted_H0.869-0.004
predicted_HBP0.0160.000
predicted_HR0.085-0.001
predicted_OBP0.302-0.008
predicted_R0.601-0.004
predicted_RBI0.441-0.003
predicted_SLG0.327-0.009
predicted_SO0.6050.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.18), rates preserved: AVG=0.199 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.2060.206
3B0.0080.008
BB0.5450.545
H0.870-0.130
HR0.1150.115
RBI0.4520.452
SO0.627-0.373
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.794
3B0.000-0.008
AB4.0000.000
AVG0.220-
BB1.0000.455
H1.0000.130
HR0.000-0.115
OBP0.319-
R1.0000.000
RBI0.000-0.452
SLG0.363-
SO1.0000.373
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.809
predicted_3B0.000-0.000
predicted_AB4.000-0.030
predicted_AVG0.2200.004
predicted_BB1.0000.502
predicted_H1.0000.131
predicted_HR0.000-0.085
predicted_OBP0.3190.017
predicted_R1.0000.399
predicted_RBI0.000-0.441
predicted_SLG0.3630.036
predicted_SO1.0000.395
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2200.000
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3190.000
R1.0000.000
RBI0.0000.000
SLG0.3630.000
SO1.0000.000
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
AB5.0001.000
BB0.000-1.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI2.0002.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
AB5.0000.000
BB0.0000.000
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA5.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: 123
Reference playing time: 4.180
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0000.0000.0000.0002.0004.0003.0004.0000.15790.26090.15790.15790.00000.10530.15790.2105
last_100.2010-40.00010.0001.0000.0001.0004.0008.0005.0006.0000.25000.32610.35000.25000.02500.10000.12500.1500
season0.60123-467.000108.00027.0000.00012.00053.00070.00061.00071.0000.23130.31970.36620.23130.02570.11350.13060.1520
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1540
predicted_3B0.0010
predicted_AB3.8360
predicted_AVG0.2218
predicted_BB0.5040
predicted_H0.8510
predicted_HBP0.0160
predicted_HR0.0810
predicted_OBP0.3090
predicted_R0.6520
predicted_RBI0.4220
predicted_SLG0.3258
predicted_SO0.6390
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22000.15400.1913model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.18003.83604.0305model_form_blend
predicted_AVG0.21200.22180.2163model_form_blend
predicted_BB0.49600.50400.4995model_form_blend
predicted_H0.89000.85100.8731model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.09000.08100.0861model_form_blend
predicted_OBP0.31000.30900.3096model_form_blend
predicted_R0.56900.65200.6051model_form_blend
predicted_RBI0.46000.42200.4435model_form_blend
predicted_SLG0.34400.32580.3361model_form_blend
predicted_SO0.57700.63900.6039model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B0
3B0
HR1
R1
RBI2
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_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261005_CHW@CLE
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-10-05
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 20261007: 529
All-history rows before 20261007: 529
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2814
Diff (system - data): 0.0046
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.2150.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.2580.2000.200Hitting_AVG0.2810.500-0.081-0.300
predicted_BB0.4380.0000.000Hitting_BB0.4630.000-0.4630.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H1.1601.0001.000Hitting_H1.1062.000-0.106-1.000
predicted_HR0.1600.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.3400.2000.200Hitting_OBP0.3560.500-0.156-0.300
predicted_R0.4621.0001.000Hitting_R0.4991.0000.5010.000
predicted_RBI0.5300.0000.000Hitting_RBI0.5610.000-0.5610.000
predicted_SLG0.4090.2000.200Hitting_SLG0.4490.500-0.249-0.300
predicted_SO0.6230.0000.000Hitting_SO0.6470.000-0.6470.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_R: 0.4620 -> 1.0000 (boost 0.5380, better)
Biggest Deboostpredicted_SO: 0.6230 -> 0.0000 (deboost -0.6230, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4090 -> 0.4234 (boost 0.0144, better)predicted_AB: 4.5100 -> 4.2182 (deboost -0.2918, 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.3425 -> 0.3296 (deboost -0.0129, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.6420 -> 1.0000 (boost 0.3580, worse)predicted_RBI: 0.5076 -> 0.0000 (deboost -0.5076, worse)AB rounded to 4 (raw=4.51), rates preserved: AVG=0.230 HR/AB=0.034
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4818 -> 0.0000 (deboost -0.4818, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.5319 (boost 0.5319, better)predicted_SO: 1.0000 -> 0.7088 (deboost -0.2912, 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_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_HR: 0.1246 -> 0.0000 (deboost -0.1246, 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 club run ratio within 2% of 1.0; 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_realization51423predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final21111predicted_OBP: 0.3310 -> 0.3390 (boost 0.0080, better)predicted_SLG: 0.4060 -> 0.3970 (deboost -0.0090, 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": "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.215,
        "predicted_3B": 0.023,
        "predicted_AB": 4.51,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.438,
        "predicted_H": 1.16,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.34,
        "predicted_R": 0.462,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.409,
        "predicted_SO": 0.623
      },
      "changed_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.212,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.2182,
        "predicted_AVG": 0.2597,
        "predicted_BB": 0.4519,
        "predicted_H": 1.093,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1565,
        "predicted_OBP": 0.3425,
        "predicted_R": 0.485,
        "predicted_RBI": 0.5109,
        "predicted_SLG": 0.4234,
        "predicted_SO": 0.6404
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2182,
          "delta": -0.2918,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.16,
          "after": 1.093,
          "delta": -0.067,
          "percent_delta": -0.0578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.409,
          "after": 0.4234,
          "delta": 0.0144,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.409,
          "after": 0.4234,
          "delta": 0.0144,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2182,
          "delta": -0.2918,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 130
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.212,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.2182,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.4508,
        "predicted_H": 1.0883,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1551,
        "predicted_OBP": 0.3296,
        "predicted_R": 0.4818,
        "predicted_RBI": 0.5076,
        "predicted_SLG": 0.4276,
        "predicted_SO": 0.642
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3425,
          "after": 0.3296,
          "delta": -0.0129,
          "percent_delta": -0.0377,
          "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.3425,
          "after": 0.3296,
          "delta": -0.0129,
          "percent_delta": -0.0377,
          "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.230 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.212,
          "after": 0.0,
          "delta": -0.212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.2182,
          "after": 4.0,
          "delta": -0.2182,
          "percent_delta": -0.0517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4508,
          "after": 0.0,
          "delta": -0.4508,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0883,
          "after": 1.0,
          "delta": -0.0883,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1551,
          "after": 0.0,
          "delta": -0.1551,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5076,
          "after": 0.0,
          "delta": -0.5076,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.642,
          "after": 1.0,
          "delta": 0.358,
          "percent_delta": 0.5576,
          "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.642,
          "after": 1.0,
          "delta": 0.358,
          "percent_delta": 0.5576,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5076,
          "after": 0.0,
          "delta": -0.5076,
          "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.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.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": 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.4818,
          "after": 0.0,
          "delta": -0.4818,
          "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.4818,
          "after": 0.0,
          "delta": -0.4818,
          "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.1805,
        "predicted_3B": 0.0167,
        "predicted_BB": 0.4185,
        "predicted_H": 0.9636,
        "predicted_HR": 0.1246,
        "predicted_RBI": 0.5319,
        "predicted_SO": 0.7088
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1805,
          "delta": 0.1805,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4185,
          "delta": 0.4185,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "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.5319,
          "delta": 0.5319,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7088,
          "delta": -0.2912,
          "percent_delta": -0.2912,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5319,
          "delta": 0.5319,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7088,
          "delta": -0.2912,
          "percent_delta": -0.2912,
          "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1805,
          "after": 1.0,
          "delta": 0.8195,
          "percent_delta": 4.5402,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.252,
          "delta": -0.006,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4185,
          "after": 1.0,
          "delta": 0.5815,
          "percent_delta": 1.3895,
          "direction": "boost",
          "projection_effect": "better",
          "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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5319,
          "after": 1.0,
          "delta": 0.4681,
          "percent_delta": 0.8801,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4276,
          "after": 0.406,
          "delta": -0.0216,
          "percent_delta": -0.0505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7088,
          "after": 1.0,
          "delta": 0.2912,
          "percent_delta": 0.4108,
          "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_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.1246,
          "after": 0.0,
          "delta": -0.1246,
          "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.252,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 1.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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 1.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": 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": 5.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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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_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": 1,
        "deboosted_metrics": 4,
        "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": 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": 5.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": 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": 5.0,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.397,
        "predicted_SO": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.339,
          "delta": 0.008,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.397,
          "delta": -0.009,
          "percent_delta": -0.0222,
          "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_OBP",
          "before": 0.331,
          "after": 0.339,
          "delta": 0.008,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.397,
          "delta": -0.009,
          "percent_delta": -0.0222,
          "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.215,
        "after": 0.0,
        "delta": -0.215,
        "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.258,
        "after": 0.251,
        "delta": -0.007,
        "percent_delta": -0.0271,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.438,
        "after": 0.0,
        "delta": -0.438,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.16,
        "after": 1.0,
        "delta": -0.16,
        "percent_delta": -0.1379,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 1.0,
        "delta": 0.538,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.409,
        "after": 0.397,
        "delta": -0.012,
        "percent_delta": -0.0293,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.623,
        "after": 0.0,
        "delta": -0.623,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 1.0,
        "delta": 0.538,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.623,
        "after": 0.0,
        "delta": -0.623,
        "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.215-
predicted_3B0.023-
predicted_AB4.510-
predicted_AVG0.258-
predicted_BB0.438-
predicted_H1.160-
predicted_HR0.160-
predicted_OBP0.340-
predicted_R0.462-
predicted_RBI0.530-
predicted_SLG0.409-
predicted_SO0.623-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.212-0.003
predicted_3B0.019-0.004
predicted_AB4.218-0.292
predicted_AVG0.2600.002
predicted_BB0.4520.014
predicted_H1.093-0.067
predicted_HBP0.025-
predicted_HR0.157-0.004
predicted_OBP0.3430.003
predicted_R0.4850.023
predicted_RBI0.511-0.019
predicted_SLG0.4230.014
predicted_SO0.6400.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.2120.000
predicted_3B0.0190.000
predicted_AB4.2180.000
predicted_AVG0.258-0.002
predicted_BB0.451-0.001
predicted_H1.088-0.005
predicted_HBP0.0250.000
predicted_HR0.155-0.001
predicted_OBP0.330-0.013
predicted_R0.482-0.003
predicted_RBI0.508-0.003
predicted_SLG0.4280.004
predicted_SO0.6420.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.230 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. bvp_blend

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1800.180
3B0.0170.017
BB0.4180.418
H0.964-0.036
HR0.1250.125
RBI0.5320.532
SO0.709-0.291
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.820
3B0.000-0.017
AB4.0000.000
AVG0.252-
BB1.0000.582
H1.0000.036
HR0.000-0.125
OBP0.331-
R1.0001.000
RBI1.0000.468
SLG0.406-
SO1.0000.291
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.788
predicted_3B0.000-0.019
predicted_AB4.000-0.218
predicted_AVG0.252-0.006
predicted_BB1.0000.549
predicted_H1.000-0.088
predicted_HR0.000-0.155
predicted_OBP0.3310.001
predicted_R1.0000.518
predicted_RBI1.0000.492
predicted_SLG0.406-0.022
predicted_SO1.0000.358
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2520.000
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3310.000
R1.0000.000
RBI1.0000.000
SLG0.4060.000
SO1.0000.000
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
AB5.0001.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.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
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.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: 130
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.0004.0001.0000.0001.0002.0003.0003.0004.0000.20000.30430.40000.20000.05000.10000.15000.2000
last_100.2010-39.00010.0002.0000.0002.0005.0006.0005.0006.0000.25640.35560.46150.25640.05130.12820.12820.1538
season0.60130-490.000140.00028.0003.00016.00066.00060.00057.00081.0000.28570.36000.45310.28570.03260.13470.11630.1653
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2080
predicted_3B0.0140
predicted_AB3.8390
predicted_AVG0.2619
predicted_BB0.4700
predicted_H1.0060
predicted_HBP0.0250
predicted_HR0.1520
predicted_OBP0.3458
predicted_R0.5150
predicted_RBI0.4860
predicted_SLG0.4422
predicted_SO0.6630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21500.20800.2120model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.51003.83904.2182model_form_blend
predicted_AVG0.25800.26190.2597model_form_blend
predicted_BB0.43800.47000.4519model_form_blend
predicted_H1.16001.00601.0930model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.16000.15200.1565model_form_blend
predicted_OBP0.34000.34580.3425model_form_blend
predicted_R0.46200.51500.4850model_form_blend
predicted_RBI0.53000.48600.5109model_form_blend
predicted_SLG0.40900.44220.4234model_form_blend
predicted_SO0.62300.66300.6404model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
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.5
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_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
gameID20261005_CHW@CLE
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-10-05
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 20261007: 173
All-history rows before 20261007: 173
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2367
Diff (system - data): 0.0023
System opponent_avg: 0.1760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1630.0000.000Hitting_2B0.2430.000-0.2430.000
predicted_3B0.0130.0000.000Hitting_3B0.0061.000-0.006-1.000
predicted_AB3.7944.0004.000Hitting_AB3.9083.0000.0921.000
predicted_AVG0.2390.2500.250Hitting_AVG0.2370.3330.013-0.083
predicted_BB0.2190.0000.000Hitting_BB0.3991.000-0.399-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9061.0001.000Hitting_H0.9251.0000.0750.000
predicted_HR0.1440.0000.000Hitting_HR0.1450.000-0.1450.000
predicted_OBP0.2800.2500.250Hitting_OBP0.3220.500-0.072-0.250
predicted_R0.4381.0001.000Hitting_R0.5200.0000.4801.000
predicted_RBI0.5880.0000.000Hitting_RBI0.7281.000-0.728-1.000
predicted_SLG0.4020.2500.250Hitting_SLG0.4131.000-0.163-0.750
predicted_SO1.0122.0002.000Hitting_SO1.1102.0000.8900.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_SO: 1.0120 -> 2.0000 (boost 0.9880, worse)
Biggest Deboostpredicted_RBI: 0.5880 -> 0.0000 (deboost -0.5880, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_BB: 0.2190 -> 0.3021 (boost 0.0831, 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_scaling73434predicted_RBI: 0.5421 -> 1.0000 (boost 0.4579, better)predicted_BB: 0.3013 -> 0.0000 (deboost -0.3013, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.229 HR/AB=0.038
6consistency_constraints10101-predicted_R: 0.4730 -> 0.0000 (deboost -0.4730, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.2811 (boost 0.2811, better)predicted_RBI: 1.0000 -> 0.5693 (deboost -0.4307, 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_allocation82626predicted_RBI: 0.5693 -> 1.0000 (boost 0.4307, better)predicted_BB: 0.2811 -> 0.0000 (deboost -0.2811, 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 club run ratio within 2% of 1.0; 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_realization32112predicted_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.2870 -> 0.3050 (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": "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.163,
        "predicted_3B": 0.013,
        "predicted_AB": 3.794,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.219,
        "predicted_H": 0.906,
        "predicted_HR": 0.144,
        "predicted_OBP": 0.28,
        "predicted_R": 0.438,
        "predicted_RBI": 0.588,
        "predicted_SLG": 0.402,
        "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.1613,
        "predicted_3B": 0.0366,
        "predicted_AB": 3.7783,
        "predicted_AVG": 0.2422,
        "predicted_BB": 0.3021,
        "predicted_H": 0.9147,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1449,
        "predicted_OBP": 0.3009,
        "predicted_R": 0.4761,
        "predicted_RBI": 0.5456,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.0247
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.219,
          "after": 0.3021,
          "delta": 0.0831,
          "percent_delta": 0.3795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.28,
          "after": 0.3009,
          "delta": 0.0209,
          "percent_delta": 0.0746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.419,
          "delta": 0.017,
          "percent_delta": 0.0423,
          "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_BB",
          "before": 0.219,
          "after": 0.3021,
          "delta": 0.0831,
          "percent_delta": 0.3795,
          "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": 160
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1613,
        "predicted_3B": 0.0366,
        "predicted_AB": 3.7783,
        "predicted_AVG": 0.2411,
        "predicted_BB": 0.3013,
        "predicted_H": 0.9108,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1436,
        "predicted_OBP": 0.2971,
        "predicted_R": 0.473,
        "predicted_RBI": 0.5421,
        "predicted_SLG": 0.4172,
        "predicted_SO": 1.0273
      },
      "changed_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.229 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.1613,
          "after": 0.0,
          "delta": -0.1613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7783,
          "after": 4.0,
          "delta": 0.2217,
          "percent_delta": 0.0587,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3013,
          "after": 0.0,
          "delta": -0.3013,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9108,
          "after": 1.0,
          "delta": 0.0892,
          "percent_delta": 0.0979,
          "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.1436,
          "after": 0.0,
          "delta": -0.1436,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5421,
          "after": 1.0,
          "delta": 0.4579,
          "percent_delta": 0.8447,
          "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_RBI",
          "before": 0.5421,
          "after": 1.0,
          "delta": 0.4579,
          "percent_delta": 0.8447,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3013,
          "after": 0.0,
          "delta": -0.3013,
          "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.473,
          "after": 0.0,
          "delta": -0.473,
          "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.473,
          "after": 0.0,
          "delta": -0.473,
          "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.1803,
        "predicted_3B": 0.0118,
        "predicted_BB": 0.2811,
        "predicted_H": 0.8708,
        "predicted_HR": 0.1486,
        "predicted_RBI": 0.5693,
        "predicted_SO": 1.044
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1803,
          "delta": 0.1803,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2811,
          "delta": 0.2811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8708,
          "delta": -0.1292,
          "percent_delta": -0.1292,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1486,
          "delta": 0.1486,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5693,
          "delta": -0.4307,
          "percent_delta": -0.4307,
          "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.2811,
          "delta": 0.2811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5693,
          "delta": -0.4307,
          "percent_delta": -0.4307,
          "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.399,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1803,
          "after": 0.0,
          "delta": -0.1803,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2411,
          "after": 0.228,
          "delta": -0.0131,
          "percent_delta": -0.0543,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2811,
          "after": 0.0,
          "delta": -0.2811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8708,
          "after": 1.0,
          "delta": 0.1292,
          "percent_delta": 0.1484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1486,
          "after": 0.0,
          "delta": -0.1486,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2971,
          "after": 0.287,
          "delta": -0.0101,
          "percent_delta": -0.034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5693,
          "after": 1.0,
          "delta": 0.4307,
          "percent_delta": 0.7565,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4172,
          "after": 0.399,
          "delta": -0.0182,
          "percent_delta": -0.0436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5693,
          "after": 1.0,
          "delta": 0.4307,
          "percent_delta": 0.7565,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2811,
          "after": 0.0,
          "delta": -0.2811,
          "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.399,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.399,
        "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": "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": 2.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
        },
        {
          "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_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": 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.234,
        "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.305,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 2.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.234,
          "delta": 0.006,
          "percent_delta": 0.0263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.305,
          "delta": 0.018,
          "percent_delta": 0.0627,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.407,
          "delta": 0.008,
          "percent_delta": 0.0201,
          "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.287,
          "after": 0.305,
          "delta": 0.018,
          "percent_delta": 0.0627,
          "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.163,
        "after": 0.0,
        "delta": -0.163,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.794,
        "after": 4.0,
        "delta": 0.206,
        "percent_delta": 0.0543,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.219,
        "after": 0.0,
        "delta": -0.219,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.906,
        "after": 1.0,
        "delta": 0.094,
        "percent_delta": 0.1038,
        "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.144,
        "after": 0.0,
        "delta": -0.144,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.28,
        "after": 0.305,
        "delta": 0.025,
        "percent_delta": 0.0893,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.438,
        "after": 1.0,
        "delta": 0.562,
        "percent_delta": 1.2831,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.588,
        "after": 0.0,
        "delta": -0.588,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.012,
        "after": 2.0,
        "delta": 0.988,
        "percent_delta": 0.9763,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.012,
        "after": 2.0,
        "delta": 0.988,
        "percent_delta": 0.9763,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.588,
        "after": 0.0,
        "delta": -0.588,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.163-
predicted_3B0.013-
predicted_AB3.794-
predicted_AVG0.239-
predicted_BB0.219-
predicted_H0.906-
predicted_HR0.144-
predicted_OBP0.280-
predicted_R0.438-
predicted_RBI0.588-
predicted_SLG0.402-
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.161-0.002
predicted_3B0.0370.024
predicted_AB3.778-0.016
predicted_AVG0.2420.003
predicted_BB0.3020.083
predicted_H0.9150.009
predicted_HBP0.065-
predicted_HR0.1450.001
predicted_OBP0.3010.021
predicted_R0.4760.038
predicted_RBI0.546-0.042
predicted_SLG0.4190.017
predicted_SO1.0250.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.1610.000
predicted_3B0.0370.000
predicted_AB3.7780.000
predicted_AVG0.241-0.001
predicted_BB0.301-0.001
predicted_H0.911-0.004
predicted_HBP0.0650.000
predicted_HR0.144-0.001
predicted_OBP0.297-0.004
predicted_R0.473-0.003
predicted_RBI0.542-0.003
predicted_SLG0.417-0.002
predicted_SO1.0270.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.229 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.0120.012
BB0.2810.281
H0.871-0.129
HR0.1490.149
RBI0.569-0.431
SO1.0440.044
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.012
AB4.0000.000
AVG0.228-
BB0.000-0.281
H1.0000.129
HR0.000-0.149
OBP0.287-
R0.0000.000
RBI1.0000.431
SLG0.399-
SO1.000-0.044
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.161
predicted_3B0.000-0.037
predicted_AB4.0000.222
predicted_AVG0.228-0.013
predicted_BB0.000-0.301
predicted_H1.0000.089
predicted_HR0.000-0.144
predicted_OBP0.287-0.010
predicted_R0.000-0.473
predicted_RBI1.0000.458
predicted_SLG0.399-0.018
predicted_SO1.000-0.027
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2280.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.2870.000
R0.0000.000
RBI1.0000.000
SLG0.3990.000
SO1.0000.000
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
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
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
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 160
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0001.0001.0002.0004.0004.0006.0000.27780.40910.61110.27780.05560.11110.22220.3333
last_100.2010-38.0009.0001.0001.0001.0003.0005.0006.00010.0000.23680.34090.39470.23680.02630.07900.15790.2632
season0.60160-607.000145.00026.0002.00023.00094.00070.00035.000162.0000.23890.29820.40200.23890.03790.15490.05770.2669
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1590
predicted_3B0.0670
predicted_AB3.7580
predicted_AVG0.2463
predicted_BB0.4090
predicted_H0.9260
predicted_HBP0.0650
predicted_HR0.1460
predicted_OBP0.3279
predicted_R0.5250
predicted_RBI0.4910
predicted_SLG0.4408
predicted_SO1.0410
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16300.15900.1613model_form_blend
predicted_3B0.01300.06700.0366model_form_blend
predicted_AB3.79403.75803.7783model_form_blend
predicted_AVG0.23900.24630.2422model_form_blend
predicted_BB0.21900.40900.3021model_form_blend
predicted_H0.90600.92600.9147model_form_blend
predicted_HBP-0.06500.0650form_only
predicted_HR0.14400.14600.1449model_form_blend
predicted_OBP0.28000.32790.3009model_form_blend
predicted_R0.43800.52500.4761model_form_blend
predicted_RBI0.58800.49100.5456model_form_blend
predicted_SLG0.40200.44080.4190model_form_blend
predicted_SO1.01201.04101.0247model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report 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_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB3
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261005_CHW@CLE
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-10-05
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 20261007: 139
All-history rows before 20261007: 139
System season_avg: 0.2480
Data season_avg (2026 season-to-date): 0.2366
Diff (system - data): 0.0114
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1862.0002.000Hitting_2B0.1870.0001.8132.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2003.0003.000Hitting_AB3.4964.000-0.496-1.000
predicted_AVG0.2350.6670.667Hitting_AVG0.2370.0000.4300.667
predicted_BB0.3050.0000.000Hitting_BB0.3090.000-0.3090.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7502.0002.000Hitting_H0.8270.0001.1732.000
predicted_HR0.0900.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.2880.7500.750Hitting_OBP0.2920.0000.4580.750
predicted_R0.2971.0001.000Hitting_R0.3450.0000.6551.000
predicted_RBI0.6101.0001.000Hitting_RBI0.7051.0000.2950.000
predicted_SLG0.3801.3331.333Hitting_SLG0.4070.0000.9261.333
predicted_SO0.8310.0000.000Hitting_SO0.8061.000-0.806-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_2B: 0.1860 -> 2.0000 (boost 1.8140, better)
Biggest Deboostpredicted_SO: 0.8310 -> 0.0000 (deboost -0.8310, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend00000--Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_OBP: 0.2866 -> 0.2956 (boost 0.0090, 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_scaling74334predicted_AB: 3.2121 -> 4.0000 (boost 0.7879, better)predicted_BB: 0.2785 -> 0.0000 (deboost -0.2785, worse)AB rounded to 4 (raw=3.21), rates preserved: AVG=0.224 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.2523 -> 0.0000 (deboost -0.2523, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3320 (boost 0.3320, better)predicted_RBI: 1.0000 -> 0.5741 (deboost -0.4259, 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_allocation74343predicted_RBI: 0.5741 -> 1.0000 (boost 0.4259, better)predicted_BB: 0.3320 -> 0.0000 (deboost -0.3320, 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 club run ratio within 2% of 1.0; 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_realization64251predicted_2B: 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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final10101-predicted_SLG: 0.4040 -> 0.3910 (deboost -0.0130, 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": "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.186,
        "predicted_3B": 0.0,
        "predicted_AB": 3.2,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.305,
        "predicted_H": 0.75,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.288,
        "predicted_R": 0.297,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.38,
        "predicted_SO": 0.831
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1804,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2121,
        "predicted_AVG": 0.2359,
        "predicted_BB": 0.2792,
        "predicted_H": 0.7565,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0878,
        "predicted_OBP": 0.2866,
        "predicted_R": 0.254,
        "predicted_RBI": 0.6195,
        "predicted_SLG": 0.3756,
        "predicted_SO": 0.7867
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1804,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2121,
        "predicted_AVG": 0.2345,
        "predicted_BB": 0.2785,
        "predicted_H": 0.7532,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.087,
        "predicted_OBP": 0.2956,
        "predicted_R": 0.2523,
        "predicted_RBI": 0.6155,
        "predicted_SLG": 0.3722,
        "predicted_SO": 0.7887
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2866,
          "after": 0.2956,
          "delta": 0.009,
          "percent_delta": 0.0314,
          "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.2866,
          "after": 0.2956,
          "delta": 0.009,
          "percent_delta": 0.0314,
          "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=3.21), rates preserved: AVG=0.224 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1804,
          "after": 0.0,
          "delta": -0.1804,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.2121,
          "after": 4.0,
          "delta": 0.7879,
          "percent_delta": 0.2453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2785,
          "after": 0.0,
          "delta": -0.2785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7532,
          "after": 1.0,
          "delta": 0.2468,
          "percent_delta": 0.3277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.087,
          "after": 0.0,
          "delta": -0.087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6155,
          "after": 1.0,
          "delta": 0.3845,
          "percent_delta": 0.6247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7887,
          "after": 1.0,
          "delta": 0.2113,
          "percent_delta": 0.2679,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.2121,
          "after": 4.0,
          "delta": 0.7879,
          "percent_delta": 0.2453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2785,
          "after": 0.0,
          "delta": -0.2785,
          "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.2523,
          "after": 0.0,
          "delta": -0.2523,
          "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.2523,
          "after": 0.0,
          "delta": -0.2523,
          "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.1668,
        "predicted_3B": 0.009,
        "predicted_BB": 0.332,
        "predicted_H": 0.8315,
        "predicted_HR": 0.1378,
        "predicted_RBI": 0.5741,
        "predicted_SO": 0.9915
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1668,
          "delta": 0.1668,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.332,
          "delta": 0.332,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8315,
          "delta": -0.1685,
          "percent_delta": -0.1685,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1378,
          "delta": 0.1378,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5741,
          "delta": -0.4259,
          "percent_delta": -0.4259,
          "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.332,
          "delta": 0.332,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5741,
          "delta": -0.4259,
          "percent_delta": -0.4259,
          "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.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.404,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1668,
          "after": 0.0,
          "delta": -0.1668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.332,
          "after": 0.0,
          "delta": -0.332,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8315,
          "after": 1.0,
          "delta": 0.1685,
          "percent_delta": 0.2026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1378,
          "after": 0.0,
          "delta": -0.1378,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2956,
          "after": 0.306,
          "delta": 0.0104,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5741,
          "after": 1.0,
          "delta": 0.4259,
          "percent_delta": 0.7419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3722,
          "after": 0.404,
          "delta": 0.0318,
          "percent_delta": 0.0854,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5741,
          "after": 1.0,
          "delta": 0.4259,
          "percent_delta": 0.7419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.332,
          "after": 0.0,
          "delta": -0.332,
          "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.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.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": 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": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "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_HBP",
          "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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.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": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.391,
        "predicted_SO": 0.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.391,
          "delta": -0.013,
          "percent_delta": -0.0322,
          "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.404,
          "after": 0.391,
          "delta": -0.013,
          "percent_delta": -0.0322,
          "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.186,
        "after": 2.0,
        "delta": 1.814,
        "percent_delta": 9.7527,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.2,
        "after": 3.0,
        "delta": -0.2,
        "percent_delta": -0.0625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.305,
        "after": 0.0,
        "delta": -0.305,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 2.0,
        "delta": 1.25,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.03,
        "after": 1.0,
        "delta": 0.97,
        "percent_delta": 32.3333,
        "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.288,
        "after": 0.307,
        "delta": 0.019,
        "percent_delta": 0.066,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.297,
        "after": 1.0,
        "delta": 0.703,
        "percent_delta": 2.367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.38,
        "after": 0.391,
        "delta": 0.011,
        "percent_delta": 0.0289,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.831,
        "after": 0.0,
        "delta": -0.831,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.186,
        "after": 2.0,
        "delta": 1.814,
        "percent_delta": 9.7527,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.831,
        "after": 0.0,
        "delta": -0.831,
        "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.186-
predicted_3B0.000-
predicted_AB3.200-
predicted_AVG0.235-
predicted_BB0.305-
predicted_H0.750-
predicted_HR0.090-
predicted_OBP0.288-
predicted_R0.297-
predicted_RBI0.610-
predicted_SLG0.380-
predicted_SO0.831-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.180-0.006
predicted_3B0.0000.000
predicted_AB3.2120.012
predicted_AVG0.2360.001
predicted_BB0.279-0.026
predicted_H0.7560.006
predicted_HBP0.030-
predicted_HR0.088-0.002
predicted_OBP0.287-0.001
predicted_R0.254-0.043
predicted_RBI0.6200.010
predicted_SLG0.376-0.004
predicted_SO0.787-0.044
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1800.000
predicted_3B0.0000.000
predicted_AB3.2120.000
predicted_AVG0.234-0.001
predicted_BB0.279-0.001
predicted_H0.753-0.003
predicted_HBP0.0300.000
predicted_HR0.087-0.001
predicted_OBP0.2960.009
predicted_R0.252-0.002
predicted_RBI0.616-0.004
predicted_SLG0.372-0.003
predicted_SO0.7890.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.21), rates preserved: AVG=0.224 HR/AB=0.027

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.1670.167
3B0.0090.009
BB0.3320.332
H0.832-0.168
HR0.1380.138
RBI0.574-0.426
SO0.992-0.008
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.167
3B0.000-0.009
AB4.0000.000
AVG0.235-
BB0.000-0.332
H1.0000.168
HR0.000-0.138
OBP0.306-
R0.0000.000
RBI1.0000.426
SLG0.404-
SO1.0000.008
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.180
predicted_3B0.000-0.000
predicted_AB4.0000.788
predicted_AVG0.2350.001
predicted_BB0.000-0.279
predicted_H1.0000.247
predicted_HR0.000-0.087
predicted_OBP0.3060.010
predicted_R0.000-0.252
predicted_RBI1.0000.384
predicted_SLG0.4040.032
predicted_SO1.0000.211
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2350.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3060.000
R0.0000.000
RBI1.0000.000
SLG0.4040.000
SO1.0000.000
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
2B2.0002.000
3B0.0000.000
AB3.000-1.000
BB0.0000.000
H2.0001.000
HBP1.0001.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI1.0000.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
2B2.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H2.0000.000
HBP1.0000.000
HR0.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: 118
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0003.0001.0000.0000.0005.0000.0001.0003.0000.18750.21050.25000.18750.00000.31250.06250.1875
last_100.2010-32.0008.0001.0000.0000.0006.0000.0001.0005.0000.25000.27030.28120.25000.00000.18750.03120.1562
season0.60118-375.00093.00022.0000.00016.00063.00035.00036.00098.0000.24800.31190.43470.24800.04270.16800.09600.2613
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1730
predicted_3B0.0010
predicted_AB3.2280
predicted_AVG0.2371
predicted_BB0.2450
predicted_H0.7650
predicted_HBP0.0300
predicted_HR0.0850
predicted_OBP0.2848
predicted_R0.1970
predicted_RBI0.6320
predicted_SLG0.3697
predicted_SO0.7280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18600.17300.1804model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.20003.22803.2121model_form_blend
predicted_AVG0.23500.23710.2359model_form_blend
predicted_BB0.30500.24500.2792model_form_blend
predicted_H0.75000.76500.7565model_form_blend
predicted_HBP-0.03000.0300form_only
predicted_HR0.09000.08500.0878model_form_blend
predicted_OBP0.28800.28480.2866model_form_blend
predicted_R0.29700.19700.2540model_form_blend
predicted_RBI0.61000.63200.6195model_form_blend
predicted_SLG0.38000.36970.3756model_form_blend
predicted_SO0.83100.72800.7867model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B2
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP1

Latest Real Data Snapshot (before report date)

Latest 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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261005_CHW@CLE
game_typefull
mlbID663993
playerID663993
playerNameNathaniel Lowe
pos1B
startedTrue
startingPosition1B
teamCLE
teamID8
game_date2026-10-05
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 20261007: 398
All-history rows before 20261007: 398
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2603
Diff (system - data): -0.0113
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.2200.0000.000Hitting_2B0.2390.000-0.2390.000
predicted_3B0.0180.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.2604.0004.000Hitting_AB3.8424.0000.1580.000
predicted_AVG0.2160.0000.000Hitting_AVG0.2600.000-0.2600.000
predicted_BB0.1190.0000.000Hitting_BB0.1330.000-0.1330.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.9200.0000.000Hitting_H1.0000.000-1.0000.000
predicted_HR0.1500.0000.000Hitting_HR0.1710.000-0.1710.000
predicted_OBP0.2500.0000.000Hitting_OBP0.2980.000-0.2980.000
predicted_R0.4500.0000.000Hitting_R0.4970.000-0.4970.000
predicted_RBI0.6500.0000.000Hitting_RBI0.6060.000-0.6060.000
predicted_SLG0.4010.0000.000Hitting_SLG0.4640.000-0.4640.000
predicted_SO0.8721.0001.000Hitting_SO0.9172.0000.083-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 0.8720 -> 1.0000 (boost 0.1280, worse)
Biggest Deboostpredicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.4010 -> 0.4080 (boost 0.0070, better)predicted_AB: 4.2600 -> 4.0560 (deboost -0.2040, 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.4080 -> 0.3941 (deboost -0.0139, 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.6522 -> 1.0000 (boost 0.3478, better)predicted_2B: 0.2239 -> 0.0000 (deboost -0.2239, worse)AB rounded to 4 (raw=4.26), rates preserved: AVG=0.198 HR/AB=0.036
6consistency_constraints10101-predicted_R: 0.4205 -> 0.0000 (deboost -0.4205, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2046 (boost 0.2046, better)predicted_RBI: 1.0000 -> 0.5556 (deboost -0.4444, 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_allocation108273predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2046 -> 0.0000 (deboost -0.2046, 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 club run ratio within 2% of 1.0; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_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
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.22,
        "predicted_3B": 0.018,
        "predicted_AB": 4.26,
        "predicted_AVG": 0.216,
        "predicted_BB": 0.119,
        "predicted_H": 0.92,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.25,
        "predicted_R": 0.45,
        "predicted_RBI": 0.65,
        "predicted_SLG": 0.401,
        "predicted_SO": 0.872
      },
      "changed_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.2239,
        "predicted_3B": 0.0154,
        "predicted_AB": 4.056,
        "predicted_AVG": 0.2191,
        "predicted_BB": 0.1276,
        "predicted_H": 0.8877,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1547,
        "predicted_OBP": 0.2534,
        "predicted_R": 0.4233,
        "predicted_RBI": 0.6565,
        "predicted_SLG": 0.408,
        "predicted_SO": 0.8983
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 4.056,
          "delta": -0.204,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.408,
          "delta": 0.007,
          "percent_delta": 0.0175,
          "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.401,
          "after": 0.408,
          "delta": 0.007,
          "percent_delta": 0.0175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 4.056,
          "delta": -0.204,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 109
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2239,
        "predicted_3B": 0.0154,
        "predicted_AB": 4.056,
        "predicted_AVG": 0.2179,
        "predicted_BB": 0.1273,
        "predicted_H": 0.8839,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1533,
        "predicted_OBP": 0.2417,
        "predicted_R": 0.4205,
        "predicted_RBI": 0.6522,
        "predicted_SLG": 0.3941,
        "predicted_SO": 0.9005
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2534,
          "after": 0.2417,
          "delta": -0.0117,
          "percent_delta": -0.0462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.3941,
          "delta": -0.0139,
          "percent_delta": -0.0341,
          "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.408,
          "after": 0.3941,
          "delta": -0.0139,
          "percent_delta": -0.0341,
          "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.26), rates preserved: AVG=0.198 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2239,
          "after": 0.0,
          "delta": -0.2239,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.056,
          "after": 4.0,
          "delta": -0.056,
          "percent_delta": -0.0138,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1273,
          "after": 0.0,
          "delta": -0.1273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8839,
          "after": 1.0,
          "delta": 0.1161,
          "percent_delta": 0.1313,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1533,
          "after": 0.0,
          "delta": -0.1533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6522,
          "after": 1.0,
          "delta": 0.3478,
          "percent_delta": 0.5333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9005,
          "after": 1.0,
          "delta": 0.0995,
          "percent_delta": 0.1105,
          "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.6522,
          "after": 1.0,
          "delta": 0.3478,
          "percent_delta": 0.5333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2239,
          "after": 0.0,
          "delta": -0.2239,
          "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.4205,
          "after": 0.0,
          "delta": -0.4205,
          "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.4205,
          "after": 0.0,
          "delta": -0.4205,
          "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.1975,
        "predicted_3B": 0.0135,
        "predicted_BB": 0.2046,
        "predicted_H": 0.8689,
        "predicted_HR": 0.1637,
        "predicted_RBI": 0.5556,
        "predicted_SO": 0.9409
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1975,
          "delta": 0.1975,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2046,
          "delta": 0.2046,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8689,
          "delta": -0.1311,
          "percent_delta": -0.1311,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1637,
          "delta": 0.1637,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5556,
          "delta": -0.4444,
          "percent_delta": -0.4444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9409,
          "delta": -0.0591,
          "percent_delta": -0.0591,
          "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.2046,
          "delta": 0.2046,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5556,
          "delta": -0.4444,
          "percent_delta": -0.4444,
          "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.283,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1975,
          "after": 0.0,
          "delta": -0.1975,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2179,
          "after": 0.237,
          "delta": 0.0191,
          "percent_delta": 0.0877,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2046,
          "after": 0.0,
          "delta": -0.2046,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8689,
          "after": 1.0,
          "delta": 0.1311,
          "percent_delta": 0.1509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1637,
          "after": 1.0,
          "delta": 0.8363,
          "percent_delta": 5.1087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2417,
          "after": 0.283,
          "delta": 0.0413,
          "percent_delta": 0.1709,
          "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.5556,
          "after": 1.0,
          "delta": 0.4444,
          "percent_delta": 0.7999,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3941,
          "after": 0.431,
          "delta": 0.0369,
          "percent_delta": 0.0936,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9409,
          "after": 1.0,
          "delta": 0.0591,
          "percent_delta": 0.0628,
          "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_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.2046,
          "after": 0.0,
          "delta": -0.2046,
          "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.283,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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": "kpi_run_environment",
      "description": "KPI club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.283,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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": 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": 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": 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.237,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.283,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.431,
        "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.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.26,
        "after": 4.0,
        "delta": -0.26,
        "percent_delta": -0.061,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.216,
        "after": 0.237,
        "delta": 0.021,
        "percent_delta": 0.0972,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.119,
        "after": 0.0,
        "delta": -0.119,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 0.0,
        "delta": -0.92,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.25,
        "after": 0.283,
        "delta": 0.033,
        "percent_delta": 0.132,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.401,
        "after": 0.431,
        "delta": 0.03,
        "percent_delta": 0.0748,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.872,
        "after": 1.0,
        "delta": 0.128,
        "percent_delta": 0.1468,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.872,
        "after": 1.0,
        "delta": 0.128,
        "percent_delta": 0.1468,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 0.0,
        "delta": -0.92,
        "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.220-
predicted_3B0.018-
predicted_AB4.260-
predicted_AVG0.216-
predicted_BB0.119-
predicted_H0.920-
predicted_HR0.150-
predicted_OBP0.250-
predicted_R0.450-
predicted_RBI0.650-
predicted_SLG0.401-
predicted_SO0.872-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2240.004
predicted_3B0.015-0.003
predicted_AB4.056-0.204
predicted_AVG0.2190.003
predicted_BB0.1280.009
predicted_H0.888-0.032
predicted_HBP0.040-
predicted_HR0.1550.005
predicted_OBP0.2530.003
predicted_R0.423-0.027
predicted_RBI0.6560.006
predicted_SLG0.4080.007
predicted_SO0.8980.026
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2240.000
predicted_3B0.0150.000
predicted_AB4.0560.000
predicted_AVG0.218-0.001
predicted_BB0.127-0.000
predicted_H0.884-0.004
predicted_HBP0.0400.000
predicted_HR0.153-0.001
predicted_OBP0.242-0.012
predicted_R0.420-0.003
predicted_RBI0.652-0.004
predicted_SLG0.394-0.014
predicted_SO0.9000.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.26), rates preserved: AVG=0.198 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
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.1980.198
3B0.0130.013
BB0.2050.205
H0.869-0.131
HR0.1640.164
RBI0.556-0.444
SO0.941-0.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.198
3B0.000-0.013
AB4.0000.000
AVG0.237-
BB0.000-0.205
H1.0000.131
HR1.0000.836
OBP0.283-
R1.0001.000
RBI1.0000.444
SLG0.431-
SO1.0000.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.224
predicted_3B0.000-0.015
predicted_AB4.000-0.056
predicted_AVG0.2370.019
predicted_BB0.000-0.127
predicted_H1.0000.116
predicted_HR1.0000.847
predicted_OBP0.2830.041
predicted_R1.0000.580
predicted_RBI1.0000.348
predicted_SLG0.4310.037
predicted_SO1.0000.100
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2370.000
BB0.0000.000
H1.0000.000
HR1.0000.000
OBP0.2830.000
R1.0000.000
RBI1.0000.000
SLG0.4310.000
SO1.0000.000
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
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
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: 109
Reference playing time: 4.260
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0002.0001.0000.0000.0004.0000.0001.0006.0000.09520.13640.14290.09520.00000.19050.04760.2857
last_100.2010-38.00010.0003.0000.0003.0009.0005.0001.0009.0000.26320.28210.57890.26320.07900.23680.02630.2368
season0.60109-397.00099.00024.0002.00018.00062.00049.00013.00095.0000.24940.28470.45590.24940.04530.15620.03280.2393
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2290
predicted_3B0.0120
predicted_AB3.7860
predicted_AVG0.2231
predicted_BB0.1390
predicted_H0.8450
predicted_HBP0.0400
predicted_HR0.1610
predicted_OBP0.2579
predicted_R0.3880
predicted_RBI0.6650
predicted_SLG0.4172
predicted_SO0.9330
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22000.22900.2239model_form_blend
predicted_3B0.01800.01200.0154model_form_blend
predicted_AB4.26003.78604.0560model_form_blend
predicted_AVG0.21600.22310.2191model_form_blend
predicted_BB0.11900.13900.1276model_form_blend
predicted_H0.92000.84500.8877model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.15000.16100.1547model_form_blend
predicted_OBP0.25000.25790.2534model_form_blend
predicted_R0.45000.38800.4233model_form_blend
predicted_RBI0.65000.66500.6565model_form_blend
predicted_SLG0.40100.41720.4080model_form_blend
predicted_SO0.87200.93300.8983model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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
gameID20261005_CHW@CLE
game_typefull
mlbID682657
playerID682657
playerNameAngel Martínez
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-10-05
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 20261007: 491
All-history rows before 20261007: 491
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2493
Diff (system - data): -0.0103
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.1790.0000.000Hitting_2B0.1770.000-0.1770.000
predicted_3B0.0160.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6343.0003.000Hitting_AB3.7093.000-0.7090.000
predicted_AVG0.2260.3330.333Hitting_AVG0.2490.0000.0840.333
predicted_BB0.4471.0001.000Hitting_BB0.5031.0000.4970.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.8001.0001.000Hitting_H0.9250.0000.0751.000
predicted_HR0.0800.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3040.5000.500Hitting_OBP0.3440.2500.1560.250
predicted_R0.4391.0001.000Hitting_R0.4660.0000.5341.000
predicted_RBI0.2902.0002.000Hitting_RBI0.5210.0001.4792.000
predicted_SB-0.0000.000BaseRunning_SB0.1710.000-0.1710.000
predicted_SLG0.3780.3330.333Hitting_SLG0.4050.000-0.0710.333
predicted_SO0.8701.0001.000Hitting_SO0.9001.0000.1000.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_RBI: 0.2900 -> 2.0000 (boost 1.7100, better)
Biggest Deboostpredicted_AB: 3.6340 -> 3.0000 (deboost -0.6340, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_SLG: 0.3780 -> 0.3877 (boost 0.0097, 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.3877 -> 0.3675 (deboost -0.0202, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_H: 0.8160 -> 1.0000 (boost 0.1840, better)predicted_AB: 3.6652 -> 3.0000 (deboost -0.6652, worse)AB rounded to 3 (raw=3.67), rates preserved: AVG=0.213 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.4383 -> 0.0000 (deboost -0.4383, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4437 (boost 0.4437, better)predicted_H: 1.0000 -> 0.7884 (deboost -0.2116, 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_allocation95445predicted_H: 0.7884 -> 1.0000 (boost 0.2116, better)predicted_RBI: 0.4437 -> 0.0000 (deboost -0.4437, 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 club run ratio within 2% of 1.0; 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_realization33030predicted_RBI: 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_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": "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.179,
        "predicted_3B": 0.016,
        "predicted_AB": 3.634,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.447,
        "predicted_H": 0.8,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.304,
        "predicted_R": 0.439,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.378,
        "predicted_SO": 0.87
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2211,
        "predicted_3B": 0.0373,
        "predicted_AB": 3.6652,
        "predicted_AVG": 0.2269,
        "predicted_BB": 0.4036,
        "predicted_H": 0.8195,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.0791,
        "predicted_OBP": 0.301,
        "predicted_R": 0.4412,
        "predicted_RBI": 0.2874,
        "predicted_SLG": 0.3877,
        "predicted_SO": 0.8843
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.378,
          "after": 0.3877,
          "delta": 0.0097,
          "percent_delta": 0.0257,
          "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_SLG",
          "before": 0.378,
          "after": 0.3877,
          "delta": 0.0097,
          "percent_delta": 0.0257,
          "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.2211,
        "predicted_3B": 0.0373,
        "predicted_AB": 3.6652,
        "predicted_AVG": 0.2226,
        "predicted_BB": 0.4026,
        "predicted_H": 0.816,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.0784,
        "predicted_OBP": 0.2996,
        "predicted_R": 0.4383,
        "predicted_RBI": 0.2855,
        "predicted_SLG": 0.3675,
        "predicted_SO": 0.8865
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.3877,
          "after": 0.3675,
          "delta": -0.0202,
          "percent_delta": -0.0521,
          "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.3877,
          "after": 0.3675,
          "delta": -0.0202,
          "percent_delta": -0.0521,
          "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.67), rates preserved: AVG=0.213 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2211,
          "after": 0.0,
          "delta": -0.2211,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6652,
          "after": 3.0,
          "delta": -0.6652,
          "percent_delta": -0.1815,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4026,
          "after": 0.0,
          "delta": -0.4026,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.816,
          "after": 1.0,
          "delta": 0.184,
          "percent_delta": 0.2255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0784,
          "after": 0.0,
          "delta": -0.0784,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2855,
          "after": 0.0,
          "delta": -0.2855,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8865,
          "after": 1.0,
          "delta": 0.1135,
          "percent_delta": 0.128,
          "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.816,
          "after": 1.0,
          "delta": 0.184,
          "percent_delta": 0.2255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6652,
          "after": 3.0,
          "delta": -0.6652,
          "percent_delta": -0.1815,
          "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.4383,
          "after": 0.0,
          "delta": -0.4383,
          "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.4383,
          "after": 0.0,
          "delta": -0.4383,
          "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.1527,
        "predicted_3B": 0.013,
        "predicted_BB": 0.3882,
        "predicted_H": 0.7884,
        "predicted_HR": 0.113,
        "predicted_RBI": 0.4437,
        "predicted_SO": 0.8727
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1527,
          "delta": 0.1527,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3882,
          "delta": 0.3882,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7884,
          "delta": -0.2116,
          "percent_delta": -0.2116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.113,
          "delta": 0.113,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4437,
          "delta": 0.4437,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8727,
          "delta": -0.1273,
          "percent_delta": -0.1273,
          "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.4437,
          "delta": 0.4437,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7884,
          "delta": -0.2116,
          "percent_delta": -0.2116,
          "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.378,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1527,
          "after": 0.0,
          "delta": -0.1527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2226,
          "after": 0.228,
          "delta": 0.0054,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3882,
          "after": 0.0,
          "delta": -0.3882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7884,
          "after": 1.0,
          "delta": 0.2116,
          "percent_delta": 0.2684,
          "direction": "boost",
          "projection_effect": "better",
          "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.2996,
          "after": 0.312,
          "delta": 0.0124,
          "percent_delta": 0.0414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4437,
          "after": 0.0,
          "delta": -0.4437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3675,
          "after": 0.378,
          "delta": 0.0105,
          "percent_delta": 0.0286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8727,
          "after": 1.0,
          "delta": 0.1273,
          "percent_delta": 0.1459,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7884,
          "after": 1.0,
          "delta": 0.2116,
          "percent_delta": 0.2684,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4437,
          "after": 0.0,
          "delta": -0.4437,
          "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 0.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": 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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.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
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 1.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": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.374,
        "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.179,
        "after": 0.0,
        "delta": -0.179,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.634,
        "after": 3.0,
        "delta": -0.634,
        "percent_delta": -0.1745,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 1.0,
        "delta": 0.553,
        "percent_delta": 1.2371,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 1.0,
        "delta": 0.2,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.304,
        "after": 0.309,
        "delta": 0.005,
        "percent_delta": 0.0164,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 1.0,
        "delta": 0.561,
        "percent_delta": 1.2779,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 2.0,
        "delta": 1.71,
        "percent_delta": 5.8966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.87,
        "after": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 2.0,
        "delta": 1.71,
        "percent_delta": 5.8966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.634,
        "after": 3.0,
        "delta": -0.634,
        "percent_delta": -0.1745,
        "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.179-
predicted_3B0.016-
predicted_AB3.634-
predicted_AVG0.226-
predicted_BB0.447-
predicted_H0.800-
predicted_HR0.080-
predicted_OBP0.304-
predicted_R0.439-
predicted_RBI0.290-
predicted_SLG0.378-
predicted_SO0.870-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2210.042
predicted_3B0.0370.021
predicted_AB3.6650.031
predicted_AVG0.2270.001
predicted_BB0.404-0.043
predicted_H0.8200.019
predicted_HBP0.035-
predicted_HR0.079-0.001
predicted_OBP0.301-0.003
predicted_R0.4410.002
predicted_RBI0.287-0.003
predicted_SLG0.3880.010
predicted_SO0.8840.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.2210.000
predicted_3B0.0370.000
predicted_AB3.6650.000
predicted_AVG0.223-0.004
predicted_BB0.403-0.001
predicted_H0.816-0.004
predicted_HBP0.0350.000
predicted_HR0.078-0.001
predicted_OBP0.300-0.001
predicted_R0.438-0.003
predicted_RBI0.285-0.002
predicted_SLG0.367-0.020
predicted_SO0.8860.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.67), rates preserved: AVG=0.213 HR/AB=0.021

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1530.153
3B0.0130.013
BB0.3880.388
H0.788-0.212
HR0.1130.113
RBI0.4440.444
SO0.873-0.127
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.013
AB3.0000.000
AVG0.228-
BB0.000-0.388
H1.0000.212
HR0.000-0.113
OBP0.312-
R0.0000.000
RBI0.000-0.444
SLG0.378-
SO1.0000.127
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.221
predicted_3B0.000-0.037
predicted_AB3.000-0.665
predicted_AVG0.2280.005
predicted_BB0.000-0.403
predicted_H1.0000.184
predicted_HR0.000-0.078
predicted_OBP0.3120.012
predicted_R0.000-0.438
predicted_RBI0.000-0.285
predicted_SLG0.3780.011
predicted_SO1.0000.114
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2280.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3120.000
R0.0000.000
RBI0.0000.000
SLG0.3780.000
SO1.0000.000
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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI2.0002.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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.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: 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-20.0005.0003.0001.0000.0000.0003.0001.0004.0000.25000.28570.50000.25000.00000.00000.05000.2000
last_100.2010-36.0006.0003.0001.0000.0000.0003.0002.00011.0000.16670.21050.30560.16670.00000.00000.05560.3056
season0.60123-447.000107.00022.0002.00015.00055.00054.00055.000107.0000.23940.32880.39820.23940.03360.12300.12300.2394
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2760
predicted_3B0.0650
predicted_AB3.7060
predicted_AVG0.2281
predicted_BB0.3470
predicted_H0.8450
predicted_HBP0.0350
predicted_HR0.0780
predicted_OBP0.2970
predicted_R0.4440
predicted_RBI0.2840
predicted_SLG0.4004
predicted_SO0.9030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.27600.2211model_form_blend
predicted_3B0.01600.06500.0373model_form_blend
predicted_AB3.63403.70603.6652model_form_blend
predicted_AVG0.22600.22810.2269model_form_blend
predicted_BB0.44700.34700.4036model_form_blend
predicted_H0.80000.84500.8195model_form_blend
predicted_HBP-0.03500.0350form_only
predicted_HR0.08000.07800.0791model_form_blend
predicted_OBP0.30400.29700.3010model_form_blend
predicted_R0.43900.44400.4412model_form_blend
predicted_RBI0.29000.28400.2874model_form_blend
predicted_SLG0.37800.40040.3877model_form_blend
predicted_SO0.87000.90300.8843model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R1
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_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_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
gameID20261005_CHW@CLE
game_typefull
mlbID683953
playerID683953
playerNameTravis Bazzana
pos2B
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-10-05
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
Patrick Bailey (672275) · BATTER · C · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 245
All-history rows before 20261007: 245
System season_avg: 0.2130
Data season_avg (2026 season-to-date): 0.2612
Diff (system - data): -0.0482
System opponent_avg: 0.2140
System season_avg diverges from 2026 season-to-date by -0.0482. 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.0800.0000.000Hitting_2B0.1350.000-0.1350.000
predicted_3B0.0100.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.0104.0004.000Hitting_AB3.0944.0000.9060.000
predicted_AVG0.2220.2500.250Hitting_AVG0.2610.000-0.0110.250
predicted_BB0.2500.0000.000Hitting_BB0.3140.000-0.3140.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6601.0001.000Hitting_H0.8080.0000.1921.000
predicted_HR0.1400.0000.000Hitting_HR0.1220.000-0.1220.000
predicted_OBP0.2600.2500.250Hitting_OBP0.3290.000-0.0790.250
predicted_R0.2900.0000.000Hitting_R0.3590.000-0.3590.000
predicted_RBI0.4200.0000.000Hitting_RBI0.4650.000-0.4650.000
predicted_SLG0.3980.2500.250Hitting_SLG0.4340.000-0.1840.250
predicted_SO0.9001.0001.000Hitting_SO0.9221.0000.0780.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 3.0100 -> 4.0000 (boost 0.9900, better)
Biggest Deboostpredicted_RBI: 0.4200 -> 0.0000 (deboost -0.4200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AVG: 0.2220 -> 0.2163 (deboost -0.0057, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2562 -> 0.2664 (boost 0.0102, better)predicted_SLG: 0.4000 -> 0.3943 (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_scaling72516predicted_H: 0.6525 -> 1.0000 (boost 0.3475, better)predicted_RBI: 0.4130 -> 0.0000 (deboost -0.4130, worse)AB rounded to 3 (raw=3.05), rates preserved: AVG=0.204 HR/AB=0.051
6consistency_constraints10101-predicted_R: 0.3118 -> 0.0000 (deboost -0.3118, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4195 (boost 0.4195, better)predicted_H: 1.0000 -> 0.7351 (deboost -0.2649, 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_allocation82626predicted_OBP: 0.2664 -> 0.2960 (boost 0.0296, better)predicted_H: 0.7351 -> 0.0000 (deboost -0.7351, 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 club run ratio within 2% of 1.0; 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_final10101-predicted_SLG: 0.3750 -> 0.3690 (deboost -0.0060, 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": "672275",
  "player_name": "Patrick Bailey",
  "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.08,
        "predicted_3B": 0.01,
        "predicted_AB": 3.01,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.25,
        "predicted_H": 0.66,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.26,
        "predicted_R": 0.29,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.398,
        "predicted_SO": 0.9
      },
      "changed_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.0706,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.0521,
        "predicted_AVG": 0.2163,
        "predicted_BB": 0.2194,
        "predicted_H": 0.6553,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1557,
        "predicted_OBP": 0.2562,
        "predicted_R": 0.3138,
        "predicted_RBI": 0.4157,
        "predicted_SLG": 0.4,
        "predicted_SO": 0.9464
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2163,
          "delta": -0.0057,
          "percent_delta": -0.0257,
          "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_AVG",
          "before": 0.222,
          "after": 0.2163,
          "delta": -0.0057,
          "percent_delta": -0.0257,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 100
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0706,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.0521,
        "predicted_AVG": 0.2138,
        "predicted_BB": 0.2189,
        "predicted_H": 0.6525,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1543,
        "predicted_OBP": 0.2664,
        "predicted_R": 0.3118,
        "predicted_RBI": 0.413,
        "predicted_SLG": 0.3943,
        "predicted_SO": 0.9488
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2562,
          "after": 0.2664,
          "delta": 0.0102,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.3943,
          "delta": -0.0057,
          "percent_delta": -0.0143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2562,
          "after": 0.2664,
          "delta": 0.0102,
          "percent_delta": 0.0398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.3943,
          "delta": -0.0057,
          "percent_delta": -0.0143,
          "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.05), rates preserved: AVG=0.204 HR/AB=0.051",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0706,
          "after": 0.0,
          "delta": -0.0706,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0521,
          "after": 3.0,
          "delta": -0.0521,
          "percent_delta": -0.0171,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2189,
          "after": 0.0,
          "delta": -0.2189,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6525,
          "after": 1.0,
          "delta": 0.3475,
          "percent_delta": 0.5326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1543,
          "after": 0.0,
          "delta": -0.1543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.413,
          "after": 0.0,
          "delta": -0.413,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9488,
          "after": 1.0,
          "delta": 0.0512,
          "percent_delta": 0.054,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.6525,
          "after": 1.0,
          "delta": 0.3475,
          "percent_delta": 0.5326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.413,
          "after": 0.0,
          "delta": -0.413,
          "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_R",
          "before": 0.3118,
          "after": 0.0,
          "delta": -0.3118,
          "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.3118,
          "after": 0.0,
          "delta": -0.3118,
          "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.1455,
        "predicted_3B": 0.0107,
        "predicted_BB": 0.3356,
        "predicted_H": 0.7351,
        "predicted_HR": 0.1188,
        "predicted_RBI": 0.4195,
        "predicted_SO": 1.0076
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1455,
          "delta": 0.1455,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3356,
          "delta": 0.3356,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7351,
          "delta": -0.2649,
          "percent_delta": -0.2649,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1188,
          "delta": 0.1188,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4195,
          "delta": 0.4195,
          "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.4195,
          "delta": 0.4195,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7351,
          "delta": -0.2649,
          "percent_delta": -0.2649,
          "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.219,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1455,
          "after": 0.0,
          "delta": -0.1455,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2138,
          "after": 0.219,
          "delta": 0.0052,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3356,
          "after": 0.0,
          "delta": -0.3356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7351,
          "after": 0.0,
          "delta": -0.7351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1188,
          "after": 0.0,
          "delta": -0.1188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2664,
          "after": 0.296,
          "delta": 0.0296,
          "percent_delta": 0.1111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4195,
          "after": 0.0,
          "delta": -0.4195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3943,
          "after": 0.375,
          "delta": -0.0193,
          "percent_delta": -0.0489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2664,
          "after": 0.296,
          "delta": 0.0296,
          "percent_delta": 0.1111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7351,
          "after": 0.0,
          "delta": -0.7351,
          "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.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.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 club run ratio within 2% of 1.0; lineup line unchanged",
      "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.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.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": 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": 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_H",
          "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": 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.217,
        "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.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.369,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.369,
          "delta": -0.006,
          "percent_delta": -0.016,
          "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.375,
          "after": 0.369,
          "delta": -0.006,
          "percent_delta": -0.016,
          "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.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.01,
        "after": 4.0,
        "delta": 0.99,
        "percent_delta": 0.3289,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.217,
        "delta": -0.005,
        "percent_delta": -0.0225,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.26,
        "after": 0.296,
        "delta": 0.036,
        "percent_delta": 0.1385,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.398,
        "after": 0.369,
        "delta": -0.029,
        "percent_delta": -0.0729,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.9,
        "after": 1.0,
        "delta": 0.1,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.01,
        "after": 4.0,
        "delta": 0.99,
        "percent_delta": 0.3289,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.080-
predicted_3B0.010-
predicted_AB3.010-
predicted_AVG0.222-
predicted_BB0.250-
predicted_H0.660-
predicted_HR0.140-
predicted_OBP0.260-
predicted_R0.290-
predicted_RBI0.420-
predicted_SLG0.398-
predicted_SO0.900-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.071-0.009
predicted_3B0.009-0.001
predicted_AB3.0520.042
predicted_AVG0.216-0.006
predicted_BB0.219-0.031
predicted_H0.655-0.005
predicted_HBP0.008-
predicted_HR0.1560.016
predicted_OBP0.256-0.004
predicted_R0.3140.024
predicted_RBI0.416-0.004
predicted_SLG0.4000.002
predicted_SO0.9460.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.0710.000
predicted_3B0.0090.000
predicted_AB3.0520.000
predicted_AVG0.214-0.003
predicted_BB0.219-0.001
predicted_H0.652-0.003
predicted_HBP0.0080.000
predicted_HR0.154-0.001
predicted_OBP0.2660.010
predicted_R0.312-0.002
predicted_RBI0.413-0.003
predicted_SLG0.394-0.006
predicted_SO0.9490.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.05), rates preserved: AVG=0.204 HR/AB=0.051

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0110.011
BB0.3360.336
H0.735-0.265
HR0.1190.119
RBI0.4190.419
SO1.0080.008
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.011
AB3.0000.000
AVG0.219-
BB0.000-0.336
H0.000-0.735
HR0.000-0.119
OBP0.296-
R0.0000.000
RBI0.000-0.419
SLG0.375-
SO1.000-0.008
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.071
predicted_3B0.000-0.009
predicted_AB3.000-0.052
predicted_AVG0.2190.005
predicted_BB0.000-0.219
predicted_H0.000-0.652
predicted_HR0.000-0.154
predicted_OBP0.2960.030
predicted_R0.000-0.312
predicted_RBI0.000-0.413
predicted_SLG0.375-0.019
predicted_SO1.0000.051
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2190.000
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.2960.000
R0.0000.000
RBI0.0000.000
SLG0.3750.000
SO1.0000.000
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.0001.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
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: 100
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.0000.0000.0002.0003.0002.0000.0005.0000.20000.20000.60000.20000.13330.20000.00000.3333
last_100.2010-32.0006.0000.0000.0002.0003.0004.0001.00014.0000.18750.21210.37500.18750.06250.09380.03120.4375
season0.60100-301.00064.0008.0001.00010.00037.00029.00025.00090.0000.21260.27270.34550.21260.03320.12290.08310.2990
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0580
predicted_3B0.0070
predicted_AB3.1090
predicted_AVG0.2086
predicted_BB0.1780
predicted_H0.6490
predicted_HBP0.0080
predicted_HR0.1770
predicted_OBP0.2510
predicted_R0.3460
predicted_RBI0.4100
predicted_SLG0.4027
predicted_SO1.0090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08000.05800.0706model_form_blend
predicted_3B0.01000.00700.0087model_form_blend
predicted_AB3.01003.10903.0521model_form_blend
predicted_AVG0.22200.20860.2163model_form_blend
predicted_BB0.25000.17800.2194model_form_blend
predicted_H0.66000.64900.6553model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.14000.17700.1557model_form_blend
predicted_OBP0.26000.25100.2562model_form_blend
predicted_R0.29000.34600.3138model_form_blend
predicted_RBI0.42000.41000.4157model_form_blend
predicted_SLG0.39800.40270.4000model_form_blend
predicted_SO0.90001.00900.9464model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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_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_CHW@CLE
game_typefull
mlbID672275
playerID672275
playerNamePatrick Bailey
posC
startedTrue
startingPositionC
teamCLE
teamID8
game_date2026-10-05
sl_k_percent26.7
sl_bb_percent8.1
sl_woba0.271
sl_xwoba0.307
sl_xba0.24
sl_xslg0.398
sl_sweet_spot_percent36.6
sl_barrel_batted_rate7.7
sl_hard_hit_percent42.4
sl_exit_velocity_avg90.5
sl_launch_angle_avg13.4
sl_whiff_percent26.8
sl_swing_percent49.6
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 570
All-history rows before 20261007: 570
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2499
Diff (system - data): 0.0001
System opponent_avg: 0.2690

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1660.0000.000Hitting_2B0.1650.000-0.1650.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.4904.0004.000Hitting_AB3.6023.0000.3981.000
predicted_AVG0.2470.2500.250Hitting_AVG0.2500.0000.0000.250
predicted_BB0.2450.0000.000Hitting_BB0.2560.000-0.2560.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.8401.0001.000Hitting_H0.9000.0000.1001.000
predicted_HR0.1200.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.3250.2500.250Hitting_OBP0.3120.000-0.0620.250
predicted_R0.4240.0000.000Hitting_R0.4370.000-0.4370.000
predicted_RBI0.4800.0000.000Hitting_RBI0.4420.000-0.4420.000
predicted_SLG0.4160.2500.250Hitting_SLG0.3710.000-0.1210.250
predicted_SO0.5632.0002.000Hitting_SO0.5810.0001.4192.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SO: 0.5630 -> 2.0000 (boost 1.4370, worse)
Biggest Deboostpredicted_RBI: 0.4800 -> 0.0000 (deboost -0.4800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_R: 0.4240 -> 0.4828 (boost 0.0588, 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.3240 -> 0.3006 (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_scaling72516predicted_SO: 0.5683 -> 1.0000 (boost 0.4317, worse)predicted_RBI: 0.4894 -> 0.0000 (deboost -0.4894, worse)AB rounded to 3 (raw=3.49), rates preserved: AVG=0.232 HR/AB=0.041
6consistency_constraints10101-predicted_R: 0.4797 -> 0.0000 (deboost -0.4797, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4076 (boost 0.4076, better)predicted_SO: 1.0000 -> 0.5524 (deboost -0.4476, 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_allocation92736predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 0.5524 -> 0.0000 (deboost -0.5524, 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 club run ratio within 2% of 1.0; 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_realization32112predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse)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_final33030predicted_OBP: 0.3000 -> 0.3120 (boost 0.0120, 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.166,
        "predicted_3B": 0.013,
        "predicted_AB": 3.49,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.245,
        "predicted_H": 0.84,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.325,
        "predicted_R": 0.424,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.416,
        "predicted_SO": 0.563
      },
      "changed_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.1808,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4569,
        "predicted_AVG": 0.2503,
        "predicted_BB": 0.2724,
        "predicted_H": 0.8526,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1435,
        "predicted_OBP": 0.324,
        "predicted_R": 0.4828,
        "predicted_RBI": 0.4926,
        "predicted_SLG": 0.44,
        "predicted_SO": 0.5669
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.424,
          "after": 0.4828,
          "delta": 0.0588,
          "percent_delta": 0.1387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.44,
          "delta": 0.024,
          "percent_delta": 0.0577,
          "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_R",
          "before": 0.424,
          "after": 0.4828,
          "delta": 0.0588,
          "percent_delta": 0.1387,
          "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": 151
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1808,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4569,
        "predicted_AVG": 0.2456,
        "predicted_BB": 0.2717,
        "predicted_H": 0.8489,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1422,
        "predicted_OBP": 0.3006,
        "predicted_R": 0.4797,
        "predicted_RBI": 0.4894,
        "predicted_SLG": 0.4276,
        "predicted_SO": 0.5683
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.3006,
          "delta": -0.0234,
          "percent_delta": -0.0722,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4276,
          "delta": -0.0124,
          "percent_delta": -0.0282,
          "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.324,
          "after": 0.3006,
          "delta": -0.0234,
          "percent_delta": -0.0722,
          "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.49), rates preserved: AVG=0.232 HR/AB=0.041",
      "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.1808,
          "after": 0.0,
          "delta": -0.1808,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4569,
          "after": 3.0,
          "delta": -0.4569,
          "percent_delta": -0.1322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2717,
          "after": 0.0,
          "delta": -0.2717,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8489,
          "after": 1.0,
          "delta": 0.1511,
          "percent_delta": 0.178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1422,
          "after": 0.0,
          "delta": -0.1422,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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_SO",
          "before": 0.5683,
          "after": 1.0,
          "delta": 0.4317,
          "percent_delta": 0.7596,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.5683,
          "after": 1.0,
          "delta": 0.4317,
          "percent_delta": 0.7596,
          "direction": "boost",
          "projection_effect": "worse",
          "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": 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.4797,
          "after": 0.0,
          "delta": -0.4797,
          "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.4797,
          "after": 0.0,
          "delta": -0.4797,
          "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.1566,
        "predicted_3B": 0.0105,
        "predicted_BB": 0.2753,
        "predicted_H": 0.7451,
        "predicted_HR": 0.0926,
        "predicted_RBI": 0.4076,
        "predicted_SO": 0.5524
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1566,
          "delta": 0.1566,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2753,
          "delta": 0.2753,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7451,
          "delta": -0.2549,
          "percent_delta": -0.2549,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0926,
          "delta": 0.0926,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4076,
          "delta": 0.4076,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5524,
          "delta": -0.4476,
          "percent_delta": -0.4476,
          "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.4076,
          "delta": 0.4076,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5524,
          "delta": -0.4476,
          "percent_delta": -0.4476,
          "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.234,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1566,
          "after": 0.0,
          "delta": -0.1566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2456,
          "after": 0.234,
          "delta": -0.0116,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2753,
          "after": 0.0,
          "delta": -0.2753,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7451,
          "after": 1.0,
          "delta": 0.2549,
          "percent_delta": 0.3421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0926,
          "after": 0.0,
          "delta": -0.0926,
          "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.4076,
          "after": 0.0,
          "delta": -0.4076,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4276,
          "after": 0.376,
          "delta": -0.0516,
          "percent_delta": -0.1207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5524,
          "after": 0.0,
          "delta": -0.5524,
          "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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5524,
          "after": 0.0,
          "delta": -0.5524,
          "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.234,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "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": 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": 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_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": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "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": 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.242,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.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.383,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.242,
          "delta": 0.008,
          "percent_delta": 0.0342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.312,
          "delta": 0.012,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.383,
          "delta": 0.007,
          "percent_delta": 0.0186,
          "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.3,
          "after": 0.312,
          "delta": 0.012,
          "percent_delta": 0.04,
          "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.166,
        "after": 0.0,
        "delta": -0.166,
        "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.247,
        "after": 0.242,
        "delta": -0.005,
        "percent_delta": -0.0202,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.245,
        "after": 0.0,
        "delta": -0.245,
        "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.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.325,
        "after": 0.312,
        "delta": -0.013,
        "percent_delta": -0.04,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.424,
        "after": 0.0,
        "delta": -0.424,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.416,
        "after": 0.383,
        "delta": -0.033,
        "percent_delta": -0.0793,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.563,
        "after": 2.0,
        "delta": 1.437,
        "percent_delta": 2.5524,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.563,
        "after": 2.0,
        "delta": 1.437,
        "percent_delta": 2.5524,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.166-
predicted_3B0.013-
predicted_AB3.490-
predicted_AVG0.247-
predicted_BB0.245-
predicted_H0.840-
predicted_HR0.120-
predicted_OBP0.325-
predicted_R0.424-
predicted_RBI0.480-
predicted_SLG0.416-
predicted_SO0.563-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.015
predicted_3B0.011-0.002
predicted_AB3.457-0.033
predicted_AVG0.2500.003
predicted_BB0.2720.027
predicted_H0.8530.013
predicted_HBP0.042-
predicted_HR0.1430.023
predicted_OBP0.324-0.001
predicted_R0.4830.059
predicted_RBI0.4930.013
predicted_SLG0.4400.024
predicted_SO0.5670.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.1810.000
predicted_3B0.0110.000
predicted_AB3.4570.000
predicted_AVG0.246-0.005
predicted_BB0.272-0.001
predicted_H0.849-0.004
predicted_HBP0.0420.000
predicted_HR0.142-0.001
predicted_OBP0.301-0.023
predicted_R0.480-0.003
predicted_RBI0.489-0.003
predicted_SLG0.428-0.012
predicted_SO0.5680.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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.1570.157
3B0.0110.011
BB0.2750.275
H0.745-0.255
HR0.0930.093
RBI0.4080.408
SO0.552-0.448
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.011
AB3.0000.000
AVG0.234-
BB0.000-0.275
H1.0000.255
HR0.000-0.093
OBP0.300-
R1.0001.000
RBI0.000-0.408
SLG0.376-
SO0.000-0.552
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.181
predicted_3B0.000-0.011
predicted_AB3.000-0.457
predicted_AVG0.234-0.012
predicted_BB0.000-0.272
predicted_H1.0000.151
predicted_HR0.000-0.142
predicted_OBP0.300-0.001
predicted_R1.0000.520
predicted_RBI0.000-0.489
predicted_SLG0.376-0.052
predicted_SO0.000-0.568
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2340.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3000.000
R1.0000.000
RBI0.0000.000
SLG0.3760.000
SO0.0000.000
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
RBI0.0000.000
SF0.0000.000
SO2.0002.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
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: 151
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.0004.0001.0000.0002.0003.0004.0002.0003.0000.25000.33330.68750.25000.12500.18750.12500.1875
last_100.2010-33.0009.0003.0000.0002.0006.0007.0004.0005.0000.27270.35140.54550.27270.06060.18180.12120.1515
season0.60151-527.000132.00025.0002.00013.00067.00064.00037.00085.0000.25050.31090.37950.25050.02470.12710.07020.1613
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2000
predicted_3B0.0080
predicted_AB3.4140
predicted_AVG0.2545
predicted_BB0.3080
predicted_H0.8690
predicted_HBP0.0420
predicted_HR0.1740
predicted_OBP0.3226
predicted_R0.5590
predicted_RBI0.5090
predicted_SLG0.4710
predicted_SO0.5720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16600.20000.1808model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.49003.41403.4569model_form_blend
predicted_AVG0.24700.25450.2503model_form_blend
predicted_BB0.24500.30800.2724model_form_blend
predicted_H0.84000.86900.8526model_form_blend
predicted_HBP-0.04200.0420form_only
predicted_HR0.12000.17400.1435model_form_blend
predicted_OBP0.32500.32260.3240model_form_blend
predicted_R0.42400.55900.4828model_form_blend
predicted_RBI0.48000.50900.4926model_form_blend
predicted_SLG0.41600.47100.4400model_form_blend
predicted_SO0.56300.57200.5669model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261005_CHW@CLE
game_typefull
mlbID677587
playerID677587
playerNameBrayan Rocchio
posSS
startedTrue
startingPositionSS
teamCLE
teamID8
game_date2026-10-05
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
Daniel Espino (682982) · PITCHER · Starter · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 15
All-history rows before 20261007: 15

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5331.0000.4670.000
predicted_ER3.0003.0003.000Pitching_ER0.4670.0002.5333.000
predicted_H3.0003.0003.000Pitching_H0.8671.0002.1332.000
predicted_IP4.0004.0004.000Pitching_InningsPitched0.9730.2003.0273.800
predicted_SO5.0005.0005.000Pitching_SO1.6670.0003.3335.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics5
Boosted Metrics2
Deboosted Metrics3
Better Metrics3
Worse Metrics2
Biggest Boostpredicted_SO: 3.0000 -> 5.0000 (boost 2.0000, better)
Biggest Deboostpredicted_BB: 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, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend published; the staff line follows the published score, not a KPI rescale
7market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
8play_by_play_realization52332predicted_SO: 3.0000 -> 5.0000 (boost 2.0000, better)predicted_BB: 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
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": "682982",
  "player_name": "Daniel Espino",
  "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": 3.0,
        "predicted_ER": 4.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.3333,
        "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 published; 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": "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": 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": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.0,
        "predicted_R": 3.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 4.3333,
          "after": 4.0,
          "delta": -0.3333,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "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_SO",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 3.0,
        "delta": 1.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 4.3333,
        "after": 4.0,
        "delta": -0.3333,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 5.0,
        "delta": 2.0,
        "percent_delta": 0.6667,
        "direction": "boost",
        "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_SO",
        "before": 3.0,
        "after": 5.0,
        "delta": 2.0,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "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_BB3.000-
predicted_ER4.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP4.333-
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 published; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. 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
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-
BF16.000-
ER3.000-
H3.000-
HR1.000-
IP4.000-
Pitches51.000-
R3.000-
SO5.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 15
Reference playing time: 4.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0004.0003.0004.0005.0002.0009.00001.75001.00000.75001.00001.25000.5000
last_100.351011.0004.0008.0005.00016.0002.0003.27271.18180.36360.72730.45461.45460.1818
season0.201516.0007.00013.0008.00025.0003.0003.93751.31250.43750.81250.50001.56250.1875
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5060
predicted_ER1.6910
predicted_ERA5.1651
predicted_H2.6340
predicted_HR0.6450
predicted_IP3.0000
predicted_SO3.2810
predicted_WHIP1.4046
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.50602.4090model_form_blend
predicted_ER4.00001.69103.0865model_form_blend
predicted_ERA-5.16515.1651form_only
predicted_H2.00002.63402.2508model_form_blend
predicted_HR1.00000.64500.8596model_form_blend
predicted_IP4.10003.00003.2000model_form_blend
predicted_SO3.00003.28103.1112model_form_blend
predicted_WHIP-1.40461.4046form_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 date15
Season rows before report date15
Report year2026
Profile rows used15
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.0
H3
R3
ER3
BB1
SO5
HR1
BF16
Pitches51

Latest Real Data Snapshot (before report date)

Latest 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_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches12
Pitching_R0
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID682982
playerID682982
playerNameDaniel Espino
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-03
sl_k_percent38.5
sl_bb_percent10.8
sl_woba0.299
sl_xwoba0.264
sl_sweet_spot_percent27.3
sl_barrel_batted_rate12.1
sl_hard_hit_percent36.4
sl_whiff_percent36.8
sl_swing_percent48.7
sl_avg_best_speed72.897165882
sl_avg_hyper_speed93.172357879
Tim Herrin (682120) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 68
All-history rows before 20261007: 68

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4120.000-0.4120.000
predicted_ER1.0001.0001.000Pitching_ER0.2790.0000.7211.000
predicted_H1.0001.0001.000Pitching_H0.6760.0000.3241.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6561.0000.3440.000
predicted_SO1.0001.0001.000Pitching_SO0.8091.0000.1910.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics0
Worse Metrics4
Biggest Boostpredicted_ER: 0.0000 -> 1.0000 (boost 1.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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization43104predicted_ER: 0.0000 -> 1.0000 (boost 1.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": "682120",
  "player_name": "Tim Herrin",
  "position": "Middle Reliever",
  "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": 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 published; 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": 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
        },
        {
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 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": 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": 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
      },
      {
        "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": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 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 published; 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-
Pitches14.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: 68
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1001.0005.0002.0004.0000.0002.07691.61540.23081.15390.46150.92310.0000
last_100.35109.0002.00010.0004.00011.0000.0002.00001.55560.22221.11110.44441.22220.0000
season0.206857.20019.00046.00028.00055.0005.0002.96531.28320.32950.79770.48550.95380.0867
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4370
predicted_ER0.3260
predicted_ERA2.9364
predicted_H1.0430
predicted_HR0.0560
predicted_IP1.0000
predicted_SO1.0040
predicted_WHIP1.4800
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.43700.2295model_form_blend
predicted_ER0.00000.32600.1712model_form_blend
predicted_ERA-2.93642.9364form_only
predicted_H0.00001.04300.5476model_form_blend
predicted_HR0.00000.05600.0294model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.00401.4770model_form_blend
predicted_WHIP-1.48001.4800form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB0
SO1
HR1
BF4
Pitches14

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO1
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID682120
playerID682120
playerNameTim Herrin
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-03
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 · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 62
All-history rows before 20261007: 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_SO1.0001.0001.000Pitching_SO1.2580.000-0.2581.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_SO: 0.0000 -> 1.0000 (boost 1.0000, 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization11010predicted_SO: 0.0000 -> 1.0000 (boost 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": "681870",
  "player_name": "Erik Sabrowski",
  "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": 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 published; 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": 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_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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": 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": 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_SO",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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_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 published; 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-
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: 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.3350
predicted_H0.6360
predicted_HR0.0560
predicted_IP1.0000
predicted_SO1.2720
predicted_WHIP1.2419
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.60600.3111model_form_blend
predicted_ER0.00000.48200.2474model_form_blend
predicted_ERA-4.33504.3350form_only
predicted_H1.00000.63600.8131model_form_blend
predicted_HR0.00000.05600.0287model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.27200.6530model_form_blend
predicted_WHIP-1.24191.2419form_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
SO1
HR0
BF4
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_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
Shawn Armstrong (542888) · PITCHER · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 42
All-history rows before 20261007: 42

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4520.000-0.4520.000
predicted_ER0.0000.0000.000Pitching_ER0.4290.000-0.4290.000
predicted_H1.0001.0001.000Pitching_H0.7140.0000.2861.000
predicted_IP3.0003.0003.000Pitching_InningsPitched0.7121.1002.2881.900
predicted_SO3.0003.0003.000Pitching_SO0.8331.0002.1672.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 3.0000 (boost 2.0000, 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization11010predicted_IP: 1.0000 -> 3.0000 (boost 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": "542888",
  "player_name": "Shawn Armstrong",
  "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": 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, 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 published; 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": 3.0,
        "predicted_R": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "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_IP",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.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_IP",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "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_IP",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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_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, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend published; 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-
BF10.000-
ER0.000-
H1.000-
HR0.000-
IP3.000-
Pitches40.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: 40
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1003.0002.0002.0002.0000.0006.23080.92310.69230.46150.46150.46150.0000
last_100.35108.1003.0006.0003.0007.0000.0003.24001.08000.36000.72000.36000.84000.0000
season0.204036.20012.00027.00017.00035.0003.0002.94551.20000.32730.73640.46360.95460.0818
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3790
predicted_ER0.4720
predicted_ERA4.5658
predicted_H0.7040
predicted_HR0.0640
predicted_IP1.0000
predicted_SO0.7330
predicted_WHIP1.1655
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.37900.1827model_form_blend
predicted_ER0.00000.47200.2275model_form_blend
predicted_ERA-4.56584.5658form_only
predicted_H1.00000.70400.8573model_form_blend
predicted_HR0.00000.06400.0308model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00000.73301.9074model_form_blend
predicted_WHIP-1.16551.1655form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP3.0
H1
R0
ER0
BB0
SO3
HR0
BF10
Pitches40

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches16
Pitching_R0
Pitching_SO1
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261005_CHW@CLE
game_typefull
mlbID542888
playerID542888
playerNameShawn Armstrong
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-05
sl_k_percent22.1
sl_bb_percent12.3
sl_woba0.313
sl_xwoba0.315
sl_sweet_spot_percent31.3
sl_barrel_batted_rate7.1
sl_hard_hit_percent35.4
sl_whiff_percent23.7
sl_swing_percent49.0
sl_avg_best_speed78.298572708
sl_avg_hyper_speed93.400017604

Home Team: CHW

Home Pitcher Deep Analysis

FieldValue
PitcherSean Newcomb
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0519
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP3.1000
Pre ER2
Pre H4
Pre BB1
Pre SO3
Season ERA2.9893
Season WHIP1.1250
Role Avg IP1.7780
Recent Avg IP1.5330
Last Start IP1
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.0672,
    "defense_index": 1.0099,
    "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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "opponent_offense_edge": -0.0676,
    "defense_strength": 0.0099,
    "opponent_defense_weakness": -0.0902,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9885,
    "strikeout": 1.0052
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656794",
    "profile": {
      "available": true,
      "pitcher_id": "656794",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 339.0,
        "k_percent": 22.6,
        "bb_percent": 9.1,
        "woba": 0.285,
        "xwoba": 0.317,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 38.6,
        "avg_best_speed": 77.7324,
        "avg_hyper_speed": 94.0135,
        "whiff_percent": 23.9,
        "swing_percent": 45.9
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0834,
        "command_and_miss": -0.0279,
        "regression_edge": -0.9143,
        "xwoba_edge": -0.1429,
        "barrel_edge": 0.1556,
        "hard_hit_edge": -0.1,
        "whiff_edge": -0.1857,
        "bb_edge": 0.025,
        "pitch_design_score": 0.0
      },
      "quality_score": -0.0519,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0044,
      "strikeout_factor": 0.9954,
      "walk_factor": 0.998,
      "homer_factor": 0.9958,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656794",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0044,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 1.0044,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.998,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9958,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9954,
        "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": 11.2,
    "ER": 9,
    "H": 14,
    "BB": 5,
    "SO": 13,
    "HR": 2,
    "ERA": 6.942857142857142,
    "WHIP": 1.6285714285714283,
    "K9": 10.028571428571427,
    "HR9": 1.5428571428571427,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "656794",
  "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": 19.272,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.794,
    "prior_weight": 0.206
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656794",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 29.0,
        "Pitches": 123.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 5.8,
        "Pitches": 24.6
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 0.9545,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.68182,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.13636
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.1,
        "ER": 10.0,
        "R": 10.0,
        "H": 16.0,
        "BB": 5.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 59.0,
        "Pitches": 255.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.6,
        "BB": 0.5,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 5.9,
        "Pitches": 25.5
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.575,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.2,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.05,
        "HR_per_IP": 0.15
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 93.1,
        "ER": 31.0,
        "R": 34.0,
        "H": 72.0,
        "BB": 33.0,
        "SO": 87.0,
        "HR": 4.0,
        "BF": 380.0,
        "Pitches": 1502.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.5167,
        "R": 0.5667,
        "H": 1.2,
        "BB": 0.55,
        "SO": 1.45,
        "HR": 0.0667,
        "BF": 6.3333,
        "Pitches": 25.0333
      },
      "rates": {
        "ERA": 2.9893,
        "WHIP": 1.125,
        "ER_per_IP": 0.33214,
        "H_per_IP": 0.77143,
        "BB_per_IP": 0.35357,
        "SO_per_IP": 0.93214,
        "HR_per_IP": 0.04286
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 2.1,
    "predicted_ER": 1.058,
    "predicted_H": 2.057,
    "predicted_BB": 0.766,
    "predicted_SO": 2.44,
    "predicted_HR": 0.291,
    "predicted_ERA": 4.1802,
    "predicted_WHIP": 1.2387
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.437,
  "form_weight": 0.563,
  "form_reliability": 0.794,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 19.272,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.794,
    "prior_weight": 0.206
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 2.1,
      "final": 3.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.058,
      "final": 1.0327,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 2.057,
      "final": 2.4691,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.766,
      "final": 0.8683,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 2.44,
      "final": 4.4329,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.291,
      "final": 0.1638,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1802,
      "final": 4.1802,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2387,
      "final": 1.2387,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherHagen Smith
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4803
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0374
Avg Velo89.1961
Avg Spin2396.9611
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER2
Pre H2
Pre BB0
Pre SO1
Season ERA0.8710
Season WHIP0.9032
Role Avg IP1.6250
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.0672,
    "defense_index": 1.0099,
    "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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "opponent_offense_edge": -0.0676,
    "defense_strength": 0.0099,
    "opponent_defense_weakness": -0.0902,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9885,
    "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.0374
      },
      "quality_score": 0.4803,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9592,
      "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": 0.0,
        "factor": 0.9816,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9816,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0215,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9645,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0303,
        "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": 18.0,
    "ER": 3,
    "H": 8,
    "BB": 6,
    "SO": 23,
    "HR": 0,
    "ERA": 1.5,
    "WHIP": 0.7777777777777778,
    "K9": 11.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-09-29T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "696146",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 30,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 30,
    "pitch_usage": 0.0,
    "release_speed": 89.19609326567674,
    "release_spin_rate": 2396.9610928315874,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 30,
      "pitch_usage": 0.0,
      "release_speed": 89.19609326567674,
      "release_spin_rate": 2396.9610928315874,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.1961,
    "release_spin_rate": 2396.9611,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0374,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2672,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.401,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5614,
    "prior_weight": 0.4386
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "696146",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 30.0,
        "Pitches": 127.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.8,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 6.0,
        "Pitches": 25.4
      },
      "rates": {
        "ERA": 1.2273,
        "WHIP": 1.0909,
        "ER_per_IP": 0.13636,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.54545,
        "SO_per_IP": 1.09091,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 18.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 6.0,
        "SO": 23.0,
        "HR": 0.0,
        "BF": 68.0,
        "Pitches": 272.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.6,
        "SO": 2.3,
        "HR": 0.0,
        "BF": 6.8,
        "Pitches": 27.2
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 0.7778,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.44444,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.27778,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 31.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 12.0,
        "BB": 16.0,
        "SO": 42.0,
        "HR": 0.0,
        "BF": 120.0,
        "Pitches": 503.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.1667,
        "R": 0.1667,
        "H": 0.6667,
        "BB": 0.8889,
        "SO": 2.3333,
        "HR": 0.0,
        "BF": 6.6667,
        "Pitches": 27.9444
      },
      "rates": {
        "ERA": 0.871,
        "WHIP": 0.9032,
        "ER_per_IP": 0.09677,
        "H_per_IP": 0.3871,
        "BB_per_IP": 0.51613,
        "SO_per_IP": 1.35484,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.436,
    "predicted_H": 1.007,
    "predicted_BB": 0.615,
    "predicted_SO": 1.563,
    "predicted_HR": 0.093,
    "predicted_ERA": 2.7309,
    "predicted_WHIP": 1.1288
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5353,
  "form_weight": 0.4647,
  "form_reliability": 0.5614,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.401,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5614,
    "prior_weight": 0.4386
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.436,
      "final": 0.7379,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.007,
      "final": 1.5386,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.615,
      "final": 0.2858,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.563,
      "final": 0.7263,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.093,
      "final": 0.5785,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7309,
      "final": 2.7309,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1288,
      "final": 1.1288,
      "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 H2
Pre BB1
Pre SO1
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.0672,
    "defense_index": 1.0099,
    "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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "opponent_offense_edge": -0.0676,
    "defense_strength": 0.0099,
    "opponent_defense_weakness": -0.0902,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9885,
    "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": "20261007",
  "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.0796,
    "predicted_WHIP": 1.4929
  }
}
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": 3.0,
      "form": 0.617,
      "final": 1.8307,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 1.142,
      "final": 2.5977,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.491,
      "final": 0.7502,
      "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.0796,
      "final": 5.0796,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4929,
      "final": 1.4929,
      "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 IP3.1000
Pre ER0
Pre H1
Pre BB0
Pre SO2
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.0672,
    "defense_index": 1.0099,
    "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.9324,
    "defense_index": 1.0902,
    "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.0672,
    "opponent_offense_edge": -0.0676,
    "defense_strength": 0.0099,
    "opponent_defense_weakness": -0.0902,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9885,
    "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": "20261007",
  "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.125,
    "predicted_BB": 0.141,
    "predicted_SO": 0.709,
    "predicted_HR": 0.152,
    "predicted_ERA": 3.441,
    "predicted_WHIP": 1.2654
  }
}
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.125,
      "final": 0.6027,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.141,
      "final": 0.0755,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.709,
      "final": 0.3799,
      "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.441,
      "final": 3.441,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2654,
      "final": 1.2654,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Sam Antonacci (803011) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 533
All-history rows before 20261007: 533
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2717
Diff (system - data): 0.0053
System opponent_avg: 0.1900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1830.0000.000Hitting_2B0.1880.000-0.1880.000
predicted_3B0.0280.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.4373.0003.000Hitting_AB3.6321.000-0.6322.000
predicted_AVG0.2770.0000.000Hitting_AVG0.2720.000-0.2720.000
predicted_BB0.3101.0001.000Hitting_BB0.3620.0000.6381.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H0.9510.0000.000Hitting_H0.9870.000-0.9870.000
predicted_HR0.0560.0000.000Hitting_HR0.0660.000-0.0660.000
predicted_OBP0.3360.2500.250Hitting_OBP0.3740.000-0.1240.250
predicted_R0.5851.0001.000Hitting_R0.6300.0000.3701.000
predicted_RBI0.3520.0000.000Hitting_RBI0.3860.000-0.3860.000
predicted_SLG0.3950.0000.000Hitting_SLG0.3960.000-0.3960.000
predicted_SO0.5850.0000.000Hitting_SO0.6400.000-0.6400.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics2
Deboosted Metrics10
Better Metrics3
Worse Metrics9
Biggest Boostpredicted_BB: 0.3100 -> 1.0000 (boost 0.6900, better)
Biggest Deboostpredicted_H: 0.9510 -> 0.0000 (deboost -0.9510, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_OBP: 0.3360 -> 0.3614 (boost 0.0254, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_OBP: 0.3614 -> 0.3434 (deboost -0.0180, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_AB: 3.4139 -> 4.0000 (boost 0.5861, better)predicted_RBI: 0.3695 -> 0.0000 (deboost -0.3695, worse)AB rounded to 4 (raw=3.44), rates preserved: AVG=0.279 HR/AB=0.014
6consistency_constraints11010predicted_R: 0.5808 -> 1.0000 (boost 0.4192, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4039 (boost 0.4039, better)predicted_SO: 1.0000 -> 0.7511 (deboost -0.2489, 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_allocation93627predicted_2B: 0.1856 -> 1.0000 (boost 0.8144, better)predicted_RBI: 0.4039 -> 0.0000 (deboost -0.4039, 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_environment33030predicted_SLG: 0.3620 -> 0.3820 (boost 0.0200, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization51423predicted_BB: 0.0000 -> 1.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_final30303-predicted_OBP: 0.3300 -> 0.3150 (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": "803011",
  "player_name": "Sam Antonacci",
  "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.183,
        "predicted_3B": 0.028,
        "predicted_AB": 3.437,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.31,
        "predicted_H": 0.951,
        "predicted_HR": 0.056,
        "predicted_OBP": 0.336,
        "predicted_R": 0.585,
        "predicted_RBI": 0.352,
        "predicted_SLG": 0.395,
        "predicted_SO": 0.585
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2126,
        "predicted_3B": 0.0232,
        "predicted_AB": 3.4139,
        "predicted_AVG": 0.2887,
        "predicted_BB": 0.2904,
        "predicted_H": 0.9849,
        "predicted_HBP": 0.261,
        "predicted_HR": 0.0482,
        "predicted_OBP": 0.3614,
        "predicted_R": 0.5841,
        "predicted_RBI": 0.3716,
        "predicted_SLG": 0.4064,
        "predicted_SO": 0.5432
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2887,
          "delta": 0.0117,
          "percent_delta": 0.0422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.3614,
          "delta": 0.0254,
          "percent_delta": 0.0756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.395,
          "after": 0.4064,
          "delta": 0.0114,
          "percent_delta": 0.0289,
          "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.336,
          "after": 0.3614,
          "delta": 0.0254,
          "percent_delta": 0.0756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 142
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2126,
        "predicted_3B": 0.0232,
        "predicted_AB": 3.4139,
        "predicted_AVG": 0.2874,
        "predicted_BB": 0.2911,
        "predicted_H": 0.9813,
        "predicted_HBP": 0.261,
        "predicted_HR": 0.0481,
        "predicted_OBP": 0.3434,
        "predicted_R": 0.5808,
        "predicted_RBI": 0.3695,
        "predicted_SLG": 0.4056,
        "predicted_SO": 0.5418
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3614,
          "after": 0.3434,
          "delta": -0.018,
          "percent_delta": -0.0498,
          "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.3614,
          "after": 0.3434,
          "delta": -0.018,
          "percent_delta": -0.0498,
          "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.279 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2126,
          "after": 0.0,
          "delta": -0.2126,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4139,
          "after": 4.0,
          "delta": 0.5861,
          "percent_delta": 0.1717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2911,
          "after": 0.0,
          "delta": -0.2911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.261,
          "after": 0.0,
          "delta": -0.261,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3695,
          "after": 0.0,
          "delta": -0.3695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5418,
          "after": 1.0,
          "delta": 0.4582,
          "percent_delta": 0.8457,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4139,
          "after": 4.0,
          "delta": 0.5861,
          "percent_delta": 0.1717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3695,
          "after": 0.0,
          "delta": -0.3695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.5808,
          "after": 1.0,
          "delta": 0.4192,
          "percent_delta": 0.7218,
          "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.5808,
          "after": 1.0,
          "delta": 0.4192,
          "percent_delta": 0.7218,
          "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.1856,
        "predicted_3B": 0.0144,
        "predicted_BB": 0.3899,
        "predicted_H": 0.9235,
        "predicted_HR": 0.0866,
        "predicted_RBI": 0.4039,
        "predicted_SO": 0.7511
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1856,
          "delta": 0.1856,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3899,
          "delta": 0.3899,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9235,
          "delta": -0.0765,
          "percent_delta": -0.0765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0866,
          "delta": 0.0866,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4039,
          "delta": 0.4039,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7511,
          "delta": -0.2489,
          "percent_delta": -0.2489,
          "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.4039,
          "delta": 0.4039,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7511,
          "delta": -0.2489,
          "percent_delta": -0.2489,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.362,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1856,
          "after": 1.0,
          "delta": 0.8144,
          "percent_delta": 4.3879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2874,
          "after": 0.239,
          "delta": -0.0484,
          "percent_delta": -0.1684,
          "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.9235,
          "after": 1.0,
          "delta": 0.0765,
          "percent_delta": 0.0828,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0866,
          "after": 0.0,
          "delta": -0.0866,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3434,
          "after": 0.315,
          "delta": -0.0284,
          "percent_delta": -0.0827,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4039,
          "after": 0.0,
          "delta": -0.4039,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4056,
          "after": 0.362,
          "delta": -0.0436,
          "percent_delta": -0.1075,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7511,
          "after": 1.0,
          "delta": 0.2489,
          "percent_delta": 0.3314,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1856,
          "after": 1.0,
          "delta": 0.8144,
          "percent_delta": 4.3879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4039,
          "after": 0.0,
          "delta": -0.4039,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.362,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.382,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.252,
          "delta": 0.013,
          "percent_delta": 0.0544,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.33,
          "delta": 0.015,
          "percent_delta": 0.0476,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.362,
          "after": 0.382,
          "delta": 0.02,
          "percent_delta": 0.0552,
          "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.362,
          "after": 0.382,
          "delta": 0.02,
          "percent_delta": 0.0552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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_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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 3.0,
        "predicted_BB": 1.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": 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.242,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.373,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.242,
          "delta": -0.01,
          "percent_delta": -0.0397,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.315,
          "delta": -0.015,
          "percent_delta": -0.0455,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.373,
          "delta": -0.009,
          "percent_delta": -0.0236,
          "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.33,
          "after": 0.315,
          "delta": -0.015,
          "percent_delta": -0.0455,
          "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.183,
        "after": 0.0,
        "delta": -0.183,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.437,
        "after": 3.0,
        "delta": -0.437,
        "percent_delta": -0.1271,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.242,
        "delta": -0.035,
        "percent_delta": -0.1264,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.31,
        "after": 1.0,
        "delta": 0.69,
        "percent_delta": 2.2258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.951,
        "after": 0.0,
        "delta": -0.951,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.261,
        "after": 0.0,
        "delta": -0.261,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.056,
        "after": 0.0,
        "delta": -0.056,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.336,
        "after": 0.315,
        "delta": -0.021,
        "percent_delta": -0.0625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.585,
        "after": 1.0,
        "delta": 0.415,
        "percent_delta": 0.7094,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.373,
        "delta": -0.022,
        "percent_delta": -0.0557,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.585,
        "after": 0.0,
        "delta": -0.585,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 2,
      "deboosted_metrics": 10,
      "better_metrics": 3,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.31,
        "after": 1.0,
        "delta": 0.69,
        "percent_delta": 2.2258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.951,
        "after": 0.0,
        "delta": -0.951,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.183-
predicted_3B0.028-
predicted_AB3.437-
predicted_AVG0.277-
predicted_BB0.310-
predicted_H0.951-
predicted_HR0.056-
predicted_OBP0.336-
predicted_R0.585-
predicted_RBI0.352-
predicted_SLG0.395-
predicted_SO0.585-
2. weighted_recent_form_blend

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

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

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

MetricValueDelta vs Prev Step
predicted_2B0.2130.000
predicted_3B0.0230.000
predicted_AB3.4140.000
predicted_AVG0.287-0.001
predicted_BB0.2910.001
predicted_H0.981-0.004
predicted_HBP0.2610.000
predicted_HR0.048-0.000
predicted_OBP0.343-0.018
predicted_R0.581-0.003
predicted_RBI0.369-0.002
predicted_SLG0.406-0.001
predicted_SO0.542-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.44), rates preserved: AVG=0.279 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1860.186
3B0.0140.014
BB0.3900.390
H0.923-0.077
HR0.0870.087
RBI0.4040.404
SO0.751-0.249
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.814
3B0.000-0.014
AB4.0000.000
AVG0.239-
BB0.000-0.390
H1.0000.077
HR0.000-0.087
OBP0.315-
R1.0000.000
RBI0.000-0.404
SLG0.362-
SO1.0000.249
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.787
predicted_3B0.000-0.023
predicted_AB4.0000.586
predicted_AVG0.239-0.048
predicted_BB0.000-0.291
predicted_H1.0000.019
predicted_HR0.000-0.048
predicted_OBP0.315-0.028
predicted_R1.0000.419
predicted_RBI0.000-0.369
predicted_SLG0.362-0.044
predicted_SO1.0000.458
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2520.013
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3300.015
R1.0000.000
RBI0.0000.000
SLG0.3820.020
SO1.0000.000
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
AB3.000-1.000
BB1.0001.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.0000.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
H0.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: 142
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0005.0002.0000.0000.0002.0002.0001.0002.0000.33330.44440.46670.33330.00000.13330.06670.1333
last_100.2010-35.00013.0003.0000.0000.0005.0008.0002.0002.0000.37140.43900.45710.37140.00000.14290.05710.0571
season0.60142-488.000135.00026.0004.0008.00050.00083.00044.00083.0000.27660.37060.39550.27660.01640.10250.09020.1701
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2510
predicted_3B0.0170
predicted_AB3.3840
predicted_AVG0.3039
predicted_BB0.2650
predicted_H1.0290
predicted_HBP0.2610
predicted_HR0.0380
predicted_OBP0.3943
predicted_R0.5830
predicted_RBI0.3970
predicted_SLG0.4213
predicted_SO0.4890
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.25100.2126model_form_blend
predicted_3B0.02800.01700.0232model_form_blend
predicted_AB3.43703.38403.4139model_form_blend
predicted_AVG0.27700.30390.2887model_form_blend
predicted_BB0.31000.26500.2904model_form_blend
predicted_H0.95101.02900.9849model_form_blend
predicted_HBP-0.26100.2610form_only
predicted_HR0.05600.03800.0482model_form_blend
predicted_OBP0.33600.39430.3614model_form_blend
predicted_R0.58500.58300.5841model_form_blend
predicted_RBI0.35200.39700.3716model_form_blend
predicted_SLG0.39500.42130.4064model_form_blend
predicted_SO0.58500.48900.5432model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R1
RBI0
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_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20261003_CHW@CLE
game_typeph
mlbID803011
noteFlied out for Pham in the 9th.
playerID803011
playerNameSam Antonacci
posSS
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-03
sl_k_percent14.7
sl_bb_percent7.7
sl_woba0.345
sl_xwoba0.348
sl_xba0.284
sl_xslg0.399
sl_sweet_spot_percent38.0
sl_barrel_batted_rate5.0
sl_hard_hit_percent33.6
sl_exit_velocity_avg87.5
sl_launch_angle_avg9.9
sl_whiff_percent14.7
sl_swing_percent42.5
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 675
All-history rows before 20261007: 675
System season_avg: 0.2480
Data season_avg (2026 season-to-date): 0.2523
Diff (system - data): -0.0043
System opponent_avg: 0.3200

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1911.0001.000Hitting_2B0.2090.0000.7911.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.7104.0004.000Hitting_AB3.8102.0000.1902.000
predicted_AVG0.2770.2500.250Hitting_AVG0.2520.500-0.002-0.250
predicted_BB0.6480.0000.000Hitting_BB0.6432.000-0.643-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.9301.0001.000Hitting_H0.9611.0000.0390.000
predicted_HR0.1400.0000.000Hitting_HR0.2160.000-0.2160.000
predicted_OBP0.4120.2500.250Hitting_OBP0.3640.750-0.114-0.500
predicted_R0.6731.0001.000Hitting_R0.7101.0000.2900.000
predicted_RBI0.4100.0000.000Hitting_RBI0.5870.000-0.5870.000
predicted_SLG0.4010.5000.500Hitting_SLG0.4810.5000.0190.000
predicted_SO0.7961.0001.000Hitting_SO0.8120.0000.1881.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_2B: 0.1910 -> 1.0000 (boost 0.8090, better)
Biggest Deboostpredicted_BB: 0.6480 -> 0.0000 (deboost -0.6480, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_BB: 0.6480 -> 0.7957 (boost 0.1477, better)predicted_AB: 3.7100 -> 3.6175 (deboost -0.0925, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot31212predicted_SLG: 0.3795 -> 0.3894 (boost 0.0099, better)predicted_OBP: 0.4007 -> 0.3743 (deboost -0.0264, 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.6175 -> 4.0000 (boost 0.3825, better)predicted_RBI: 0.4169 -> 0.0000 (deboost -0.4169, worse)AB rounded to 4 (raw=3.71), rates preserved: AVG=0.225 HR/AB=0.035
6consistency_constraints11010predicted_R: 0.7120 -> 1.0000 (boost 0.2880, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.5195 (boost 0.5195, better)predicted_BB: 1.0000 -> 0.6031 (deboost -0.3969, 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_allocation95445predicted_RBI: 0.5195 -> 1.0000 (boost 0.4805, better)predicted_HR: 0.1771 -> 0.0000 (deboost -0.1771, 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_environment33030predicted_SLG: 0.4130 -> 0.4360 (boost 0.0230, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization31212predicted_2B: 0.0000 -> 1.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_final22020predicted_SLG: 0.4360 -> 0.4420 (boost 0.0060, 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.191,
        "predicted_3B": 0.006,
        "predicted_AB": 3.71,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.648,
        "predicted_H": 0.93,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.412,
        "predicted_R": 0.673,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.401,
        "predicted_SO": 0.796
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1555,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6175,
        "predicted_AVG": 0.2516,
        "predicted_BB": 0.7957,
        "predicted_H": 0.8581,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1295,
        "predicted_OBP": 0.4007,
        "predicted_R": 0.716,
        "predicted_RBI": 0.4192,
        "predicted_SLG": 0.3795,
        "predicted_SO": 0.7807
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.71,
          "after": 3.6175,
          "delta": -0.0925,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2516,
          "delta": -0.0254,
          "percent_delta": -0.0917,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.648,
          "after": 0.7957,
          "delta": 0.1477,
          "percent_delta": 0.2279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 0.8581,
          "delta": -0.0719,
          "percent_delta": -0.0773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.412,
          "after": 0.4007,
          "delta": -0.0113,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.3795,
          "delta": -0.0215,
          "percent_delta": -0.0536,
          "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_BB",
          "before": 0.648,
          "after": 0.7957,
          "delta": 0.1477,
          "percent_delta": 0.2279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.71,
          "after": 3.6175,
          "delta": -0.0925,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 162
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1555,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6175,
        "predicted_AVG": 0.2363,
        "predicted_BB": 0.7977,
        "predicted_H": 0.8549,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1293,
        "predicted_OBP": 0.3743,
        "predicted_R": 0.712,
        "predicted_RBI": 0.4169,
        "predicted_SLG": 0.3894,
        "predicted_SO": 0.7787
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2516,
          "after": 0.2363,
          "delta": -0.0153,
          "percent_delta": -0.0608,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4007,
          "after": 0.3743,
          "delta": -0.0264,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3795,
          "after": 0.3894,
          "delta": 0.0099,
          "percent_delta": 0.0261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3795,
          "after": 0.3894,
          "delta": 0.0099,
          "percent_delta": 0.0261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4007,
          "after": 0.3743,
          "delta": -0.0264,
          "percent_delta": -0.0659,
          "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.71), rates preserved: AVG=0.225 HR/AB=0.035",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1555,
          "after": 0.0,
          "delta": -0.1555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6175,
          "after": 4.0,
          "delta": 0.3825,
          "percent_delta": 0.1057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7977,
          "after": 1.0,
          "delta": 0.2023,
          "percent_delta": 0.2536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8549,
          "after": 1.0,
          "delta": 0.1451,
          "percent_delta": 0.1697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1293,
          "after": 0.0,
          "delta": -0.1293,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4169,
          "after": 0.0,
          "delta": -0.4169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7787,
          "after": 1.0,
          "delta": 0.2213,
          "percent_delta": 0.2842,
          "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.6175,
          "after": 4.0,
          "delta": 0.3825,
          "percent_delta": 0.1057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4169,
          "after": 0.0,
          "delta": -0.4169,
          "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.712,
          "after": 1.0,
          "delta": 0.288,
          "percent_delta": 0.4045,
          "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.712,
          "after": 1.0,
          "delta": 0.288,
          "percent_delta": 0.4045,
          "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.1652,
        "predicted_3B": 0.0072,
        "predicted_BB": 0.6031,
        "predicted_H": 0.8235,
        "predicted_HR": 0.1771,
        "predicted_RBI": 0.5195,
        "predicted_SO": 0.8809
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1652,
          "delta": 0.1652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6031,
          "delta": -0.3969,
          "percent_delta": -0.3969,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8235,
          "delta": -0.1765,
          "percent_delta": -0.1765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1771,
          "delta": 0.1771,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5195,
          "delta": 0.5195,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8809,
          "delta": -0.1191,
          "percent_delta": -0.1191,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5195,
          "delta": 0.5195,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6031,
          "delta": -0.3969,
          "percent_delta": -0.3969,
          "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.222,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.413,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1652,
          "after": 0.0,
          "delta": -0.1652,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2363,
          "after": 0.222,
          "delta": -0.0143,
          "percent_delta": -0.0605,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6031,
          "after": 1.0,
          "delta": 0.3969,
          "percent_delta": 0.6581,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8235,
          "after": 1.0,
          "delta": 0.1765,
          "percent_delta": 0.2143,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1771,
          "after": 0.0,
          "delta": -0.1771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3743,
          "after": 0.336,
          "delta": -0.0383,
          "percent_delta": -0.1023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5195,
          "after": 1.0,
          "delta": 0.4805,
          "percent_delta": 0.9249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3894,
          "after": 0.413,
          "delta": 0.0236,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8809,
          "after": 1.0,
          "delta": 0.1191,
          "percent_delta": 0.1352,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5195,
          "after": 1.0,
          "delta": 0.4805,
          "percent_delta": 0.9249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1771,
          "after": 0.0,
          "delta": -0.1771,
          "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.222,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.413,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.234,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.436,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.234,
          "delta": 0.012,
          "percent_delta": 0.0541,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.351,
          "delta": 0.015,
          "percent_delta": 0.0446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.436,
          "delta": 0.023,
          "percent_delta": 0.0557,
          "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.413,
          "after": 0.436,
          "delta": 0.023,
          "percent_delta": 0.0557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "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": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.356,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.442,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.356,
          "delta": 0.005,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.442,
          "delta": 0.006,
          "percent_delta": 0.0138,
          "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.436,
          "after": 0.442,
          "delta": 0.006,
          "percent_delta": 0.0138,
          "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.191,
        "after": 1.0,
        "delta": 0.809,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "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_AVG",
        "before": 0.277,
        "after": 0.238,
        "delta": -0.039,
        "percent_delta": -0.1408,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.648,
        "after": 0.0,
        "delta": -0.648,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 1.0,
        "delta": 0.07,
        "percent_delta": 0.0753,
        "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.412,
        "after": 0.356,
        "delta": -0.056,
        "percent_delta": -0.1359,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.673,
        "after": 1.0,
        "delta": 0.327,
        "percent_delta": 0.4859,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.401,
        "after": 0.442,
        "delta": 0.041,
        "percent_delta": 0.1022,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.796,
        "after": 1.0,
        "delta": 0.204,
        "percent_delta": 0.2563,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 1.0,
        "delta": 0.809,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.648,
        "after": 0.0,
        "delta": -0.648,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.191-
predicted_3B0.006-
predicted_AB3.710-
predicted_AVG0.277-
predicted_BB0.648-
predicted_H0.930-
predicted_HR0.140-
predicted_OBP0.412-
predicted_R0.673-
predicted_RBI0.410-
predicted_SLG0.401-
predicted_SO0.796-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.155-0.036
predicted_3B0.005-0.001
predicted_AB3.618-0.092
predicted_AVG0.252-0.025
predicted_BB0.7960.148
predicted_H0.858-0.072
predicted_HBP0.025-
predicted_HR0.130-0.011
predicted_OBP0.401-0.011
predicted_R0.7160.043
predicted_RBI0.4190.009
predicted_SLG0.380-0.022
predicted_SO0.781-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.1550.000
predicted_3B0.0050.000
predicted_AB3.6180.000
predicted_AVG0.236-0.015
predicted_BB0.7980.002
predicted_H0.855-0.003
predicted_HBP0.0250.000
predicted_HR0.129-0.000
predicted_OBP0.374-0.026
predicted_R0.712-0.004
predicted_RBI0.417-0.002
predicted_SLG0.3890.010
predicted_SO0.779-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.71), rates preserved: AVG=0.225 HR/AB=0.035

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.1650.165
3B0.0070.007
BB0.603-0.397
H0.824-0.176
HR0.1770.177
RBI0.5190.519
SO0.881-0.119
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.165
3B0.000-0.007
AB4.0000.000
AVG0.222-
BB1.0000.397
H1.0000.176
HR0.000-0.177
OBP0.336-
R1.0000.000
RBI1.0000.481
SLG0.413-
SO1.0000.119
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.155
predicted_3B0.000-0.005
predicted_AB4.0000.382
predicted_AVG0.222-0.014
predicted_BB1.0000.202
predicted_H1.0000.145
predicted_HR0.000-0.129
predicted_OBP0.336-0.038
predicted_R1.0000.288
predicted_RBI1.0000.583
predicted_SLG0.4130.024
predicted_SO1.0000.221
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2340.012
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3510.015
R1.0000.000
RBI1.0000.000
SLG0.4360.023
SO1.0000.000
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
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.000-1.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
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
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: 162
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0002.0000.0000.0000.0000.0005.0008.0003.0000.13330.43480.13330.13330.00000.00000.53330.2000
last_100.2010-33.0007.0000.0000.0000.0005.0008.00013.0008.0000.21210.42550.21210.21210.00000.15150.39390.2424
season0.60162-601.000149.00031.0001.00033.00093.000109.000105.000129.0000.24790.36250.46760.24790.05490.15470.17470.2146
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0040
predicted_AB3.4990
predicted_AVG0.2190
predicted_BB0.9850
predicted_H0.7660
predicted_HBP0.0250
predicted_HR0.1160
predicted_OBP0.3862
predicted_R0.7710
predicted_RBI0.4310
predicted_SLG0.3519
predicted_SO0.7610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.11000.1555model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.71003.49903.6175model_form_blend
predicted_AVG0.27700.21900.2516model_form_blend
predicted_BB0.64800.98500.7957model_form_blend
predicted_H0.93000.76600.8581model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.14000.11600.1295model_form_blend
predicted_OBP0.41200.38620.4007model_form_blend
predicted_R0.67300.77100.7160model_form_blend
predicted_RBI0.41000.43100.4192model_form_blend
predicted_SLG0.40100.35190.3795model_form_blend
predicted_SO0.79600.76100.7807model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
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_AB2
Hitting_AVG0.5
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261005_CHW@CLE
game_typefull
mlbID678246
playerID678246
playerNameMiguel Vargas
pos3B
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-10-05
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 20261007: 517
All-history rows before 20261007: 517
System season_avg: 0.2090
Data season_avg (2026 season-to-date): 0.2110
Diff (system - data): -0.0020
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.1221.0001.000Hitting_2B0.1320.0000.8681.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5884.0004.000Hitting_AB3.6854.0000.3150.000
predicted_AVG0.2090.5000.500Hitting_AVG0.2110.2500.2890.250
predicted_BB0.7100.0000.000Hitting_BB0.7780.000-0.7780.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.7482.0002.000Hitting_H0.7781.0001.2221.000
predicted_HR0.2750.0000.000Hitting_HR0.2920.000-0.2920.000
predicted_OBP0.3390.5000.500Hitting_OBP0.3540.2500.1460.250
predicted_R0.6490.0000.000Hitting_R0.7100.000-0.7100.000
predicted_RBI0.6182.0002.000Hitting_RBI0.6231.0001.3771.000
predicted_SLG0.4770.7500.750Hitting_SLG0.4890.2500.2610.500
predicted_SO1.5570.0000.000Hitting_SO1.5781.000-1.578-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_RBI: 0.6180 -> 2.0000 (boost 1.3820, better)
Biggest Deboostpredicted_SO: 1.5570 -> 0.0000 (deboost -1.5570, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64242predicted_AB: 3.5880 -> 3.6607 (boost 0.0727, better)predicted_BB: 0.7100 -> 0.6299 (deboost -0.0801, 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.5622 -> 2.0000 (boost 0.4378, worse)predicted_HR: 0.2759 -> 0.0000 (deboost -0.2759, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.212 HR/AB=0.075
6consistency_constraints11010predicted_R: 0.6661 -> 1.0000 (boost 0.3339, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2324 (boost 0.2324, better)predicted_RBI: 1.0000 -> 0.5531 (deboost -0.4469, 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.2324 -> 1.0000 (boost 0.7676, better)predicted_2B: 0.1540 -> 0.0000 (deboost -0.1540, 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_environment33030predicted_SLG: 0.4340 -> 0.4580 (boost 0.0240, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization73443predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 2.0000 -> 0.0000 (deboost -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_final30303-predicted_OBP: 0.3510 -> 0.3250 (deboost -0.0260, 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.122,
        "predicted_3B": 0.008,
        "predicted_AB": 3.588,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.71,
        "predicted_H": 0.748,
        "predicted_HR": 0.275,
        "predicted_OBP": 0.339,
        "predicted_R": 0.649,
        "predicted_RBI": 0.618,
        "predicted_SLG": 0.477,
        "predicted_SO": 1.557
      },
      "changed_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.1355,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6607,
        "predicted_AVG": 0.2186,
        "predicted_BB": 0.6299,
        "predicted_H": 0.7998,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.2763,
        "predicted_OBP": 0.3338,
        "predicted_R": 0.6699,
        "predicted_RBI": 0.6676,
        "predicted_SLG": 0.4854,
        "predicted_SO": 1.5661
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.588,
          "after": 3.6607,
          "delta": 0.0727,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2186,
          "delta": 0.0096,
          "percent_delta": 0.0459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.71,
          "after": 0.6299,
          "delta": -0.0801,
          "percent_delta": -0.1128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.748,
          "after": 0.7998,
          "delta": 0.0518,
          "percent_delta": 0.0693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3338,
          "delta": -0.0052,
          "percent_delta": -0.0153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.477,
          "after": 0.4854,
          "delta": 0.0084,
          "percent_delta": 0.0176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.588,
          "after": 3.6607,
          "delta": 0.0727,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.71,
          "after": 0.6299,
          "delta": -0.0801,
          "percent_delta": -0.1128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1355,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6607,
        "predicted_AVG": 0.2177,
        "predicted_BB": 0.6315,
        "predicted_H": 0.7968,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.2759,
        "predicted_OBP": 0.3328,
        "predicted_R": 0.6661,
        "predicted_RBI": 0.6639,
        "predicted_SLG": 0.4845,
        "predicted_SO": 1.5622
      },
      "changed_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.66), rates preserved: AVG=0.212 HR/AB=0.075",
      "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.1355,
          "after": 0.0,
          "delta": -0.1355,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6607,
          "after": 4.0,
          "delta": 0.3393,
          "percent_delta": 0.0927,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6315,
          "after": 1.0,
          "delta": 0.3685,
          "percent_delta": 0.5835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7968,
          "after": 1.0,
          "delta": 0.2032,
          "percent_delta": 0.255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2759,
          "after": 0.0,
          "delta": -0.2759,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6639,
          "after": 1.0,
          "delta": 0.3361,
          "percent_delta": 0.5063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5622,
          "after": 2.0,
          "delta": 0.4378,
          "percent_delta": 0.2802,
          "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.5622,
          "after": 2.0,
          "delta": 0.4378,
          "percent_delta": 0.2802,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2759,
          "after": 0.0,
          "delta": -0.2759,
          "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.6661,
          "after": 1.0,
          "delta": 0.3339,
          "percent_delta": 0.5013,
          "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.6661,
          "after": 1.0,
          "delta": 0.3339,
          "percent_delta": 0.5013,
          "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.154,
        "predicted_3B": 0.0083,
        "predicted_BB": 0.7146,
        "predicted_H": 0.7695,
        "predicted_HR": 0.2324,
        "predicted_RBI": 0.5531,
        "predicted_SO": 1.6519
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.154,
          "delta": 0.154,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.7146,
          "delta": -0.2854,
          "percent_delta": -0.2854,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7695,
          "delta": -0.2305,
          "percent_delta": -0.2305,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2324,
          "delta": 0.2324,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5531,
          "delta": -0.4469,
          "percent_delta": -0.4469,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.6519,
          "delta": -0.3481,
          "percent_delta": -0.1741,
          "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.2324,
          "delta": 0.2324,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5531,
          "delta": -0.4469,
          "percent_delta": -0.4469,
          "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.434,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.154,
          "after": 0.0,
          "delta": -0.154,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2177,
          "after": 0.204,
          "delta": -0.0137,
          "percent_delta": -0.0629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7146,
          "after": 1.0,
          "delta": 0.2854,
          "percent_delta": 0.3994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7695,
          "after": 1.0,
          "delta": 0.2305,
          "percent_delta": 0.2995,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2324,
          "after": 1.0,
          "delta": 0.7676,
          "percent_delta": 3.3029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5531,
          "after": 1.0,
          "delta": 0.4469,
          "percent_delta": 0.808,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4845,
          "after": 0.434,
          "delta": -0.0505,
          "percent_delta": -0.1042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6519,
          "after": 2.0,
          "delta": 0.3481,
          "percent_delta": 0.2107,
          "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.2324,
          "after": 1.0,
          "delta": 0.7676,
          "percent_delta": 3.3029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.154,
          "after": 0.0,
          "delta": -0.154,
          "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.434,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "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": 1.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.458,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.204,
          "after": 0.215,
          "delta": 0.011,
          "percent_delta": 0.0539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.351,
          "delta": 0.015,
          "percent_delta": 0.0446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.434,
          "after": 0.458,
          "delta": 0.024,
          "percent_delta": 0.0553,
          "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.434,
          "after": 0.458,
          "delta": 0.024,
          "percent_delta": 0.0553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 2.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "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": "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.443,
        "predicted_SO": 0.0,
        "predicted_TB": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.209,
          "delta": -0.006,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.325,
          "delta": -0.026,
          "percent_delta": -0.0741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.443,
          "delta": -0.015,
          "percent_delta": -0.0328,
          "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.351,
          "after": 0.325,
          "delta": -0.026,
          "percent_delta": -0.0741,
          "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.122,
        "after": 1.0,
        "delta": 0.878,
        "percent_delta": 7.1967,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.588,
        "after": 4.0,
        "delta": 0.412,
        "percent_delta": 0.1148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.748,
        "after": 2.0,
        "delta": 1.252,
        "percent_delta": 1.6738,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.275,
        "after": 0.0,
        "delta": -0.275,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.325,
        "delta": -0.014,
        "percent_delta": -0.0413,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.649,
        "after": 0.0,
        "delta": -0.649,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.618,
        "after": 2.0,
        "delta": 1.382,
        "percent_delta": 2.2362,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.477,
        "after": 0.443,
        "delta": -0.034,
        "percent_delta": -0.0713,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.557,
        "after": 0.0,
        "delta": -1.557,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.618,
        "after": 2.0,
        "delta": 1.382,
        "percent_delta": 2.2362,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.557,
        "after": 0.0,
        "delta": -1.557,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.122-
predicted_3B0.008-
predicted_AB3.588-
predicted_AVG0.209-
predicted_BB0.710-
predicted_H0.748-
predicted_HR0.275-
predicted_OBP0.339-
predicted_R0.649-
predicted_RBI0.618-
predicted_SLG0.477-
predicted_SO1.557-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1360.014
predicted_3B0.007-0.001
predicted_AB3.6610.073
predicted_AVG0.2190.010
predicted_BB0.630-0.080
predicted_H0.8000.052
predicted_HBP0.047-
predicted_HR0.2760.001
predicted_OBP0.334-0.005
predicted_R0.6700.021
predicted_RBI0.6680.050
predicted_SLG0.4850.008
predicted_SO1.5660.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1360.000
predicted_3B0.0070.000
predicted_AB3.6610.000
predicted_AVG0.218-0.001
predicted_BB0.6310.002
predicted_H0.797-0.003
predicted_HBP0.0470.000
predicted_HR0.276-0.000
predicted_OBP0.333-0.001
predicted_R0.666-0.004
predicted_RBI0.664-0.004
predicted_SLG0.484-0.001
predicted_SO1.562-0.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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.1540.154
3B0.0080.008
BB0.715-0.285
H0.769-0.231
HR0.2320.232
RBI0.553-0.447
SO1.652-0.348
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.154
3B0.000-0.008
AB4.0000.000
AVG0.204-
BB1.0000.285
H1.0000.231
HR1.0000.768
OBP0.336-
R1.0000.000
RBI1.0000.447
SLG0.434-
SO2.0000.348
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.136
predicted_3B0.000-0.007
predicted_AB4.0000.339
predicted_AVG0.204-0.014
predicted_BB1.0000.369
predicted_H1.0000.203
predicted_HR1.0000.724
predicted_OBP0.3360.003
predicted_R1.0000.334
predicted_RBI1.0000.336
predicted_SLG0.434-0.050
predicted_SO2.0000.438
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2150.011
BB1.0000.000
H1.0000.000
HR1.0000.000
OBP0.3510.015
R1.0000.000
RBI1.0000.000
SLG0.4580.024
SO2.0000.000
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
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H2.0001.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI2.0001.000
SF0.0000.000
SO0.000-2.000
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
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.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: 131
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.0001.0000.0001.0004.0004.0001.0009.0000.25000.27270.45000.25000.05000.20000.05000.4500
last_100.2010-40.00011.0002.0000.0004.00011.0008.0003.00016.0000.27500.33330.62500.27500.10000.27500.07500.4000
season0.60131-470.00098.00016.0001.00036.00081.00085.00093.000204.0000.20850.34500.47660.20850.07660.17230.19790.4340
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1530
predicted_3B0.0050
predicted_AB3.7550
predicted_AVG0.2310
predicted_BB0.5260
predicted_H0.8670
predicted_HBP0.0470
predicted_HR0.2780
predicted_OBP0.3271
predicted_R0.6970
predicted_RBI0.7320
predicted_SLG0.4963
predicted_SO1.5780
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12200.15300.1355model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.58803.75503.6607model_form_blend
predicted_AVG0.20900.23100.2186model_form_blend
predicted_BB0.71000.52600.6299model_form_blend
predicted_H0.74800.86700.7998model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.27500.27800.2763model_form_blend
predicted_OBP0.33900.32710.3338model_form_blend
predicted_R0.64900.69700.6699model_form_blend
predicted_RBI0.61800.73200.6676model_form_blend
predicted_SLG0.47700.49630.4854model_form_blend
predicted_SO1.55701.57801.5661model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B1
3B0
HR0
R0
RBI2
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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261005_CHW@CLE
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-10-05
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
Kyle Teel (691019) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 119
All-history rows before 20261007: 119
System season_avg: 0.2130
Data season_avg (2026 season-to-date): 0.2071
Diff (system - data): 0.0059
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0710.0000.000Hitting_2B0.1260.000-0.1260.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5304.0004.000Hitting_AB3.5294.0000.4710.000
predicted_AVG0.2420.0000.000Hitting_AVG0.2070.250-0.207-0.250
predicted_BB0.4290.0000.000Hitting_BB0.5550.000-0.5550.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8500.0000.000Hitting_H0.7311.000-0.731-1.000
predicted_HR0.1000.0000.000Hitting_HR0.1680.000-0.1680.000
predicted_OBP0.3300.0000.000Hitting_OBP0.3250.250-0.325-0.250
predicted_R0.5480.0000.000Hitting_R0.6051.000-0.605-1.000
predicted_RBI0.5600.0000.000Hitting_RBI0.8570.000-0.8570.000
predicted_SLG0.3490.0000.000Hitting_SLG0.3860.250-0.386-0.250
predicted_SO1.3812.0002.000Hitting_SO1.5382.0000.4620.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_SO: 1.3810 -> 2.0000 (boost 0.6190, worse)
Biggest Deboostpredicted_H: 0.8500 -> 0.0000 (deboost -0.8500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend00000--Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_OBP: 0.3305 -> 0.3208 (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_scaling84435predicted_SO: 1.3767 -> 2.0000 (boost 0.6233, worse)predicted_BB: 0.4130 -> 0.0000 (deboost -0.4130, worse)AB rounded to 4 (raw=3.54), rates preserved: AVG=0.236 HR/AB=0.028
6consistency_constraints11010predicted_R: 0.5702 -> 1.0000 (boost 0.4298, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.4631 (boost 0.4631, better)predicted_SO: 2.0000 -> 1.4962 (deboost -0.5038, 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_allocation94554predicted_BB: 0.4631 -> 1.0000 (boost 0.5369, better)predicted_SO: 1.4962 -> 1.0000 (deboost -0.4962, 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_environment33030predicted_SLG: 0.3760 -> 0.3960 (boost 0.0200, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization51405predicted_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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_OBP: 0.3290 -> 0.3170 (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": "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.071,
        "predicted_3B": 0.0,
        "predicted_AB": 3.53,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.429,
        "predicted_H": 0.85,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.33,
        "predicted_R": 0.548,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.349,
        "predicted_SO": 1.381
      },
      "changed_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.069,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5449,
        "predicted_AVG": 0.2433,
        "predicted_BB": 0.412,
        "predicted_H": 0.8597,
        "predicted_HBP": 0.09,
        "predicted_HR": 0.1008,
        "predicted_OBP": 0.3305,
        "predicted_R": 0.5734,
        "predicted_RBI": 0.5644,
        "predicted_SLG": 0.3497,
        "predicted_SO": 1.3802
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 42
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.069,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5449,
        "predicted_AVG": 0.2416,
        "predicted_BB": 0.413,
        "predicted_H": 0.8565,
        "predicted_HBP": 0.09,
        "predicted_HR": 0.1007,
        "predicted_OBP": 0.3208,
        "predicted_R": 0.5702,
        "predicted_RBI": 0.5612,
        "predicted_SLG": 0.3467,
        "predicted_SO": 1.3767
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3305,
          "after": 0.3208,
          "delta": -0.0097,
          "percent_delta": -0.0293,
          "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.3305,
          "after": 0.3208,
          "delta": -0.0097,
          "percent_delta": -0.0293,
          "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.54), rates preserved: AVG=0.236 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.069,
          "after": 0.0,
          "delta": -0.069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5449,
          "after": 4.0,
          "delta": 0.4551,
          "percent_delta": 0.1284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.413,
          "after": 0.0,
          "delta": -0.413,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8565,
          "after": 1.0,
          "delta": 0.1435,
          "percent_delta": 0.1675,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.09,
          "after": 0.0,
          "delta": -0.09,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1007,
          "after": 0.0,
          "delta": -0.1007,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5612,
          "after": 1.0,
          "delta": 0.4388,
          "percent_delta": 0.7819,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3767,
          "after": 2.0,
          "delta": 0.6233,
          "percent_delta": 0.4527,
          "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.3767,
          "after": 2.0,
          "delta": 0.6233,
          "percent_delta": 0.4527,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.413,
          "after": 0.0,
          "delta": -0.413,
          "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5702,
          "after": 1.0,
          "delta": 0.4298,
          "percent_delta": 0.7538,
          "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.5702,
          "after": 1.0,
          "delta": 0.4298,
          "percent_delta": 0.7538,
          "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.1532,
        "predicted_3B": 0.0085,
        "predicted_BB": 0.4631,
        "predicted_H": 0.7903,
        "predicted_HR": 0.1289,
        "predicted_RBI": 0.5388,
        "predicted_SO": 1.4962
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1532,
          "delta": 0.1532,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4631,
          "delta": 0.4631,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7903,
          "delta": -0.2097,
          "percent_delta": -0.2097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1289,
          "delta": 0.1289,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5388,
          "delta": -0.4612,
          "percent_delta": -0.4612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.4962,
          "delta": -0.5038,
          "percent_delta": -0.2519,
          "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.4631,
          "delta": 0.4631,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.4962,
          "delta": -0.5038,
          "percent_delta": -0.2519,
          "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.22,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1532,
          "after": 0.0,
          "delta": -0.1532,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2416,
          "after": 0.22,
          "delta": -0.0216,
          "percent_delta": -0.0894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4631,
          "after": 1.0,
          "delta": 0.5369,
          "percent_delta": 1.1594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7903,
          "after": 1.0,
          "delta": 0.2097,
          "percent_delta": 0.2653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1289,
          "after": 0.0,
          "delta": -0.1289,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3208,
          "after": 0.315,
          "delta": -0.0058,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5388,
          "after": 1.0,
          "delta": 0.4612,
          "percent_delta": 0.856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3467,
          "after": 0.376,
          "delta": 0.0293,
          "percent_delta": 0.0845,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4962,
          "after": 1.0,
          "delta": -0.4962,
          "percent_delta": -0.3316,
          "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_BB",
          "before": 0.4631,
          "after": 1.0,
          "delta": 0.5369,
          "percent_delta": 1.1594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4962,
          "after": 1.0,
          "delta": -0.4962,
          "percent_delta": -0.3316,
          "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.22,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.232,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.396,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.232,
          "delta": 0.012,
          "percent_delta": 0.0545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.329,
          "delta": 0.014,
          "percent_delta": 0.0444,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.396,
          "delta": 0.02,
          "percent_delta": 0.0532,
          "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.376,
          "after": 0.396,
          "delta": 0.02,
          "percent_delta": 0.0532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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.221,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.384,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.221,
          "delta": -0.011,
          "percent_delta": -0.0474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.317,
          "delta": -0.012,
          "percent_delta": -0.0365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.384,
          "delta": -0.012,
          "percent_delta": -0.0303,
          "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.329,
          "after": 0.317,
          "delta": -0.012,
          "percent_delta": -0.0365,
          "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.071,
        "after": 0.0,
        "delta": -0.071,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.53,
        "after": 4.0,
        "delta": 0.47,
        "percent_delta": 0.1331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.242,
        "after": 0.221,
        "delta": -0.021,
        "percent_delta": -0.0868,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.33,
        "after": 0.317,
        "delta": -0.013,
        "percent_delta": -0.0394,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.548,
        "after": 0.0,
        "delta": -0.548,
        "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.349,
        "after": 0.384,
        "delta": 0.035,
        "percent_delta": 0.1003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.381,
        "after": 2.0,
        "delta": 0.619,
        "percent_delta": 0.4482,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.381,
        "after": 2.0,
        "delta": 0.619,
        "percent_delta": 0.4482,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.071-
predicted_3B0.000-
predicted_AB3.530-
predicted_AVG0.242-
predicted_BB0.429-
predicted_H0.850-
predicted_HR0.100-
predicted_OBP0.330-
predicted_R0.548-
predicted_RBI0.560-
predicted_SLG0.349-
predicted_SO1.381-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.069-0.002
predicted_3B0.0010.001
predicted_AB3.5450.015
predicted_AVG0.2430.001
predicted_BB0.412-0.017
predicted_H0.8600.010
predicted_HBP0.090-
predicted_HR0.1010.001
predicted_OBP0.3310.001
predicted_R0.5730.025
predicted_RBI0.5640.004
predicted_SLG0.3500.001
predicted_SO1.380-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.0690.000
predicted_3B0.0010.000
predicted_AB3.5450.000
predicted_AVG0.242-0.002
predicted_BB0.4130.001
predicted_H0.857-0.003
predicted_HBP0.0900.000
predicted_HR0.101-0.000
predicted_OBP0.321-0.010
predicted_R0.570-0.003
predicted_RBI0.561-0.003
predicted_SLG0.347-0.003
predicted_SO1.377-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.54), rates preserved: AVG=0.236 HR/AB=0.028

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1530.153
3B0.0090.009
BB0.4630.463
H0.790-0.210
HR0.1290.129
RBI0.539-0.461
SO1.496-0.504
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.009
AB4.0000.000
AVG0.220-
BB1.0000.537
H1.0000.210
HR0.000-0.129
OBP0.315-
R1.0000.000
RBI1.0000.461
SLG0.376-
SO1.000-0.496
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.069
predicted_3B0.000-0.001
predicted_AB4.0000.455
predicted_AVG0.220-0.022
predicted_BB1.0000.587
predicted_H1.0000.143
predicted_HR0.000-0.101
predicted_OBP0.315-0.006
predicted_R1.0000.430
predicted_RBI1.0000.439
predicted_SLG0.3760.029
predicted_SO1.000-0.377
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2320.012
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3290.014
R1.0000.000
RBI1.0000.000
SLG0.3960.020
SO1.0000.000
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.000-1.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.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
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: 42
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.0006.0000.0000.0000.0001.0003.0001.0009.0000.28570.31820.28570.28570.00000.04760.04760.4286
last_100.2010-37.00011.0000.0000.0001.0007.0009.0005.00014.0000.29730.40000.37840.29730.02700.18920.13510.3784
season0.6042-136.00029.0003.0000.0005.00027.00023.00018.00058.0000.21320.32080.34560.21320.03680.19850.13230.4265
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0660
predicted_3B0.0020
predicted_AB3.5670
predicted_AVG0.2451
predicted_BB0.3870
predicted_H0.8740
predicted_HBP0.0900
predicted_HR0.1020
predicted_OBP0.3312
predicted_R0.6110
predicted_RBI0.5710
predicted_SLG0.3508
predicted_SO1.3790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07100.06600.0690model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.53003.56703.5449model_form_blend
predicted_AVG0.24200.24510.2433model_form_blend
predicted_BB0.42900.38700.4120model_form_blend
predicted_H0.85000.87400.8597model_form_blend
predicted_HBP-0.09000.0900form_only
predicted_HR0.10000.10200.1008model_form_blend
predicted_OBP0.33000.33120.3305model_form_blend
predicted_R0.54800.61100.5734model_form_blend
predicted_RBI0.56000.57100.5644model_form_blend
predicted_SLG0.34900.35080.3497model_form_blend
predicted_SO1.38101.37901.3802model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
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
allPositionsPlayedC
gameID20261005_CHW@CLE
game_typefull
mlbID691019
playerID691019
playerNameKyle Teel
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-10-05
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
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 624
All-history rows before 20261007: 624
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2787
Diff (system - data): 0.0003
System opponent_avg: 0.2540

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1970.0000.000Hitting_2B0.2040.000-0.2040.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0904.0004.000Hitting_AB3.7724.0000.2280.000
predicted_AVG0.2790.2500.250Hitting_AVG0.2790.500-0.029-0.250
predicted_BB0.3890.0000.000Hitting_BB0.4340.000-0.4340.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H1.1401.0001.000Hitting_H1.0512.000-0.051-1.000
predicted_HR0.1600.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.3680.2500.250Hitting_OBP0.3560.500-0.106-0.250
predicted_R0.5860.0000.000Hitting_R0.6250.000-0.6250.000
predicted_RBI0.7100.0000.000Hitting_RBI0.4341.000-0.434-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0260.000-0.0260.000
predicted_SLG0.4610.2500.250Hitting_SLG0.4230.500-0.173-0.250
predicted_SO0.9171.0001.000Hitting_SO0.9381.0000.0620.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics0
Worse Metrics11
Biggest Boostpredicted_SO: 0.9170 -> 1.0000 (boost 0.0830, worse)
Biggest Deboostpredicted_RBI: 0.7100 -> 0.0000 (deboost -0.7100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4610 -> 0.4888 (boost 0.0278, better)predicted_AB: 4.0900 -> 3.8797 (deboost -0.2103, 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.3778 -> 0.3578 (deboost -0.0200, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_RBI: 0.7025 -> 1.0000 (boost 0.2975, better)predicted_BB: 0.3545 -> 0.0000 (deboost -0.3545, worse)AB rounded to 4 (raw=4.09), rates preserved: AVG=0.277 HR/AB=0.040
6consistency_constraints11010predicted_R: 0.5749 -> 1.0000 (boost 0.4251, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3965 (boost 0.3965, better)predicted_RBI: 1.0000 -> 0.4302 (deboost -0.5698, 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.8877 -> 1.0000 (boost 0.1123, better)predicted_RBI: 0.4302 -> 0.0000 (deboost -0.4302, 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_environment33030predicted_SLG: 0.3880 -> 0.4100 (boost 0.0220, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization10101-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.4100 -> 0.3920 (deboost -0.0180, 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": "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.197,
        "predicted_3B": 0.0,
        "predicted_AB": 4.09,
        "predicted_AVG": 0.279,
        "predicted_BB": 0.389,
        "predicted_H": 1.14,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.368,
        "predicted_R": 0.586,
        "predicted_RBI": 0.71,
        "predicted_SLG": 0.461,
        "predicted_SO": 0.917
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1974,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8797,
        "predicted_AVG": 0.3019,
        "predicted_BB": 0.3536,
        "predicted_H": 1.1649,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1626,
        "predicted_OBP": 0.3778,
        "predicted_R": 0.5781,
        "predicted_RBI": 0.7065,
        "predicted_SLG": 0.4888,
        "predicted_SO": 0.8781
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.09,
          "after": 3.8797,
          "delta": -0.2103,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.279,
          "after": 0.3019,
          "delta": 0.0229,
          "percent_delta": 0.0821,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.368,
          "after": 0.3778,
          "delta": 0.0098,
          "percent_delta": 0.0266,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.461,
          "after": 0.4888,
          "delta": 0.0278,
          "percent_delta": 0.0603,
          "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.461,
          "after": 0.4888,
          "delta": 0.0278,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.09,
          "after": 3.8797,
          "delta": -0.2103,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 157
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1974,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8797,
        "predicted_AVG": 0.2991,
        "predicted_BB": 0.3545,
        "predicted_H": 1.1606,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1624,
        "predicted_OBP": 0.3578,
        "predicted_R": 0.5749,
        "predicted_RBI": 0.7025,
        "predicted_SLG": 0.4758,
        "predicted_SO": 0.8759
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3778,
          "after": 0.3578,
          "delta": -0.02,
          "percent_delta": -0.0529,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4888,
          "after": 0.4758,
          "delta": -0.013,
          "percent_delta": -0.0266,
          "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.3778,
          "after": 0.3578,
          "delta": -0.02,
          "percent_delta": -0.0529,
          "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.09), rates preserved: AVG=0.277 HR/AB=0.040",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1974,
          "after": 0.0,
          "delta": -0.1974,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8797,
          "after": 4.0,
          "delta": 0.1203,
          "percent_delta": 0.031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3545,
          "after": 0.0,
          "delta": -0.3545,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1606,
          "after": 1.0,
          "delta": -0.1606,
          "percent_delta": -0.1384,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1624,
          "after": 0.0,
          "delta": -0.1624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7025,
          "after": 1.0,
          "delta": 0.2975,
          "percent_delta": 0.4235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8759,
          "after": 1.0,
          "delta": 0.1241,
          "percent_delta": 0.1417,
          "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.7025,
          "after": 1.0,
          "delta": 0.2975,
          "percent_delta": 0.4235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3545,
          "after": 0.0,
          "delta": -0.3545,
          "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.5749,
          "after": 1.0,
          "delta": 0.4251,
          "percent_delta": 0.7394,
          "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.5749,
          "after": 1.0,
          "delta": 0.4251,
          "percent_delta": 0.7394,
          "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.1676,
        "predicted_3B": 0.0057,
        "predicted_BB": 0.3965,
        "predicted_H": 0.8877,
        "predicted_HR": 0.1129,
        "predicted_RBI": 0.4302,
        "predicted_SO": 1.042
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1676,
          "delta": 0.1676,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3965,
          "delta": 0.3965,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8877,
          "delta": -0.1123,
          "percent_delta": -0.1123,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1129,
          "delta": 0.1129,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4302,
          "delta": -0.5698,
          "percent_delta": -0.5698,
          "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.3965,
          "delta": 0.3965,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4302,
          "delta": -0.5698,
          "percent_delta": -0.5698,
          "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.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.388,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1676,
          "after": 0.0,
          "delta": -0.1676,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2991,
          "after": 0.245,
          "delta": -0.0541,
          "percent_delta": -0.1809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3965,
          "after": 0.0,
          "delta": -0.3965,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8877,
          "after": 1.0,
          "delta": 0.1123,
          "percent_delta": 0.1265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1129,
          "after": 0.0,
          "delta": -0.1129,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3578,
          "after": 0.325,
          "delta": -0.0328,
          "percent_delta": -0.0917,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4302,
          "after": 0.0,
          "delta": -0.4302,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4758,
          "after": 0.388,
          "delta": -0.0878,
          "percent_delta": -0.1845,
          "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.8877,
          "after": 1.0,
          "delta": 0.1123,
          "percent_delta": 0.1265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4302,
          "after": 0.0,
          "delta": -0.4302,
          "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.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.388,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.341,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.41,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.259,
          "delta": 0.014,
          "percent_delta": 0.0571,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.341,
          "delta": 0.016,
          "percent_delta": 0.0492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.41,
          "delta": 0.022,
          "percent_delta": 0.0567,
          "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.388,
          "after": 0.41,
          "delta": 0.022,
          "percent_delta": 0.0567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.25,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.25,
          "delta": -0.009,
          "percent_delta": -0.0347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.341,
          "after": 0.332,
          "delta": -0.009,
          "percent_delta": -0.0264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.392,
          "delta": -0.018,
          "percent_delta": -0.0439,
          "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.41,
          "after": 0.392,
          "delta": -0.018,
          "percent_delta": -0.0439,
          "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.197,
        "after": 0.0,
        "delta": -0.197,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.09,
        "after": 4.0,
        "delta": -0.09,
        "percent_delta": -0.022,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.279,
        "after": 0.25,
        "delta": -0.029,
        "percent_delta": -0.1039,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 1.0,
        "delta": -0.14,
        "percent_delta": -0.1228,
        "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.368,
        "after": 0.332,
        "delta": -0.036,
        "percent_delta": -0.0978,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.586,
        "after": 0.0,
        "delta": -0.586,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.461,
        "after": 0.392,
        "delta": -0.069,
        "percent_delta": -0.1497,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.917,
        "after": 1.0,
        "delta": 0.083,
        "percent_delta": 0.0905,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 0,
      "worse_metrics": 11,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.917,
        "after": 1.0,
        "delta": 0.083,
        "percent_delta": 0.0905,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.197-
predicted_3B0.000-
predicted_AB4.090-
predicted_AVG0.279-
predicted_BB0.389-
predicted_H1.140-
predicted_HR0.160-
predicted_OBP0.368-
predicted_R0.586-
predicted_RBI0.710-
predicted_SLG0.461-
predicted_SO0.917-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1970.000
predicted_3B0.0000.000
predicted_AB3.880-0.210
predicted_AVG0.3020.023
predicted_BB0.354-0.035
predicted_H1.1650.025
predicted_HBP0.042-
predicted_HR0.1630.003
predicted_OBP0.3780.010
predicted_R0.578-0.008
predicted_RBI0.707-0.003
predicted_SLG0.4890.028
predicted_SO0.878-0.039
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1970.000
predicted_3B0.0000.000
predicted_AB3.8800.000
predicted_AVG0.299-0.003
predicted_BB0.3540.001
predicted_H1.161-0.004
predicted_HBP0.0420.000
predicted_HR0.162-0.000
predicted_OBP0.358-0.020
predicted_R0.575-0.003
predicted_RBI0.703-0.004
predicted_SLG0.476-0.013
predicted_SO0.876-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.09), rates preserved: AVG=0.277 HR/AB=0.040

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1680.168
3B0.0060.006
BB0.3970.397
H0.888-0.112
HR0.1130.113
RBI0.430-0.570
SO1.0420.042
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.168
3B0.000-0.006
AB4.0000.000
AVG0.245-
BB0.000-0.397
H1.0000.112
HR0.000-0.113
OBP0.325-
R1.0000.000
RBI0.000-0.430
SLG0.388-
SO1.000-0.042
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.197
predicted_3B0.000-0.000
predicted_AB4.0000.120
predicted_AVG0.245-0.054
predicted_BB0.000-0.354
predicted_H1.000-0.161
predicted_HR0.000-0.162
predicted_OBP0.325-0.033
predicted_R1.0000.425
predicted_RBI0.000-0.703
predicted_SLG0.388-0.088
predicted_SO1.0000.124
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2590.014
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3410.016
R1.0000.000
RBI0.0000.000
SLG0.4100.022
SO1.0000.000
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-
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
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: 157
Reference playing time: 4.090
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0007.0001.0000.0001.0005.0002.0001.0003.0000.41180.44440.64710.41180.05880.29410.05880.1765
last_100.2010-35.00015.0002.0000.0003.00012.0007.0002.0008.0000.42860.47370.74290.42860.08570.34290.05710.2286
season0.60157-581.000162.00031.0000.00017.00068.00092.00061.000144.0000.27880.35120.42000.27880.02930.11700.10500.2478
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1980
predicted_3B0.0010
predicted_AB3.6090
predicted_AVG0.3315
predicted_BB0.3080
predicted_H1.1970
predicted_HBP0.0420
predicted_HR0.1660
predicted_OBP0.3904
predicted_R0.5680
predicted_RBI0.7020
predicted_SLG0.5246
predicted_SO0.8280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19700.19800.1974model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.09003.60903.8797model_form_blend
predicted_AVG0.27900.33150.3019model_form_blend
predicted_BB0.38900.30800.3536model_form_blend
predicted_H1.14001.19701.1649model_form_blend
predicted_HBP-0.04200.0420form_only
predicted_HR0.16000.16600.1626model_form_blend
predicted_OBP0.36800.39040.3778model_form_blend
predicted_R0.58600.56800.5781model_form_blend
predicted_RBI0.71000.70200.7065model_form_blend
predicted_SLG0.46100.52460.4888model_form_blend
predicted_SO0.91700.82800.8781model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date624
Season rows before report date624
Report year2026
Profile rows used157
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_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_CHW@CLE
game_typefull
mlbID805367
playerID805367
playerNameChase Meidroth
pos2B
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-10-05
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
Tristan Peters (671976) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 481
All-history rows before 20261007: 481
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2892
Diff (system - data): -0.0222
System opponent_avg: 0.2730
System season_avg diverges from 2026 season-to-date by -0.0222. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2070.0000.000Hitting_2B0.2520.000-0.2520.000
predicted_3B0.0270.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB2.9734.0004.000Hitting_AB3.2062.0000.7942.000
predicted_AVG0.2240.0000.000Hitting_AVG0.2890.500-0.289-0.500
predicted_BB0.2470.0000.000Hitting_BB0.2720.000-0.2720.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.4000.0000.000Hitting_H0.9271.000-0.927-1.000
predicted_HR0.0400.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.3030.0000.000Hitting_OBP0.3560.500-0.356-0.500
predicted_R0.4130.0000.000Hitting_R0.4820.000-0.4820.000
predicted_RBI0.1900.0000.000Hitting_RBI0.4840.000-0.4840.000
predicted_SLG0.3820.0000.000Hitting_SLG0.4840.500-0.484-0.500
predicted_SO0.6132.0002.000Hitting_SO0.6050.0001.3952.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_SO: 0.6130 -> 2.0000 (boost 1.3870, worse)
Biggest Deboostpredicted_R: 0.4130 -> 0.0000 (deboost -0.4130, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_H: 0.4000 -> 0.5504 (boost 0.1504, better)predicted_SLG: 0.3820 -> 0.3711 (deboost -0.0109, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.3711 -> 0.3028 (deboost -0.0683, 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.5484 -> 1.0000 (boost 0.4516, better)predicted_RBI: 0.2514 -> 0.0000 (deboost -0.2514, worse)AB rounded to 3 (raw=2.97), rates preserved: AVG=0.180 HR/AB=0.015
6consistency_constraints10101-predicted_R: 0.3939 -> 0.0000 (deboost -0.3939, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4297 (boost 0.4297, better)predicted_H: 1.0000 -> 0.8188 (deboost -0.1812, 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_allocation95445predicted_H: 0.8188 -> 1.0000 (boost 0.1812, better)predicted_RBI: 0.4297 -> 0.0000 (deboost -0.4297, 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_environment44040predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization42213predicted_AB: 3.0000 -> 4.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_final30303-predicted_SLG: 0.4150 -> 0.3880 (deboost -0.0270, 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": "671976",
  "player_name": "Tristan Peters",
  "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.207,
        "predicted_3B": 0.027,
        "predicted_AB": 2.973,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.247,
        "predicted_H": 0.4,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.303,
        "predicted_R": 0.413,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.382,
        "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.171,
        "predicted_3B": 0.0222,
        "predicted_AB": 2.9652,
        "predicted_AVG": 0.2364,
        "predicted_BB": 0.2396,
        "predicted_H": 0.5504,
        "predicted_HBP": 0.059,
        "predicted_HR": 0.0448,
        "predicted_OBP": 0.3098,
        "predicted_R": 0.3961,
        "predicted_RBI": 0.2528,
        "predicted_SLG": 0.3711,
        "predicted_SO": 0.6165
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2364,
          "delta": 0.0124,
          "percent_delta": 0.0554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.5504,
          "delta": 0.1504,
          "percent_delta": 0.376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3098,
          "delta": 0.0068,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.2528,
          "delta": 0.0628,
          "percent_delta": 0.3305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.3711,
          "delta": -0.0109,
          "percent_delta": -0.0285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.5504,
          "delta": 0.1504,
          "percent_delta": 0.376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.3711,
          "delta": -0.0109,
          "percent_delta": -0.0285,
          "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.171,
        "predicted_3B": 0.0222,
        "predicted_AB": 2.9652,
        "predicted_AVG": 0.1849,
        "predicted_BB": 0.2402,
        "predicted_H": 0.5484,
        "predicted_HBP": 0.059,
        "predicted_HR": 0.0447,
        "predicted_OBP": 0.246,
        "predicted_R": 0.3939,
        "predicted_RBI": 0.2514,
        "predicted_SLG": 0.3028,
        "predicted_SO": 0.615
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2364,
          "after": 0.1849,
          "delta": -0.0515,
          "percent_delta": -0.2179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3098,
          "after": 0.246,
          "delta": -0.0638,
          "percent_delta": -0.2059,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3711,
          "after": 0.3028,
          "delta": -0.0683,
          "percent_delta": -0.184,
          "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.3711,
          "after": 0.3028,
          "delta": -0.0683,
          "percent_delta": -0.184,
          "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.97), rates preserved: AVG=0.180 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.171,
          "after": 0.0,
          "delta": -0.171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2402,
          "after": 0.0,
          "delta": -0.2402,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5484,
          "after": 1.0,
          "delta": 0.4516,
          "percent_delta": 0.8235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.059,
          "after": 0.0,
          "delta": -0.059,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2514,
          "after": 0.0,
          "delta": -0.2514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.615,
          "after": 1.0,
          "delta": 0.385,
          "percent_delta": 0.626,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5484,
          "after": 1.0,
          "delta": 0.4516,
          "percent_delta": 0.8235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2514,
          "after": 0.0,
          "delta": -0.2514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.3939,
          "after": 0.0,
          "delta": -0.3939,
          "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.3939,
          "after": 0.0,
          "delta": -0.3939,
          "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.1849,
        "predicted_3B": 0.0134,
        "predicted_BB": 0.3355,
        "predicted_H": 0.8188,
        "predicted_HR": 0.1051,
        "predicted_RBI": 0.4297,
        "predicted_SO": 0.8216
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1849,
          "delta": 0.1849,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3355,
          "delta": 0.3355,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8188,
          "delta": -0.1812,
          "percent_delta": -0.1812,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1051,
          "delta": 0.1051,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4297,
          "delta": 0.4297,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8216,
          "delta": -0.1784,
          "percent_delta": -0.1784,
          "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.4297,
          "delta": 0.4297,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8188,
          "delta": -0.1812,
          "percent_delta": -0.1812,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1849,
          "after": 0.0,
          "delta": -0.1849,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1849,
          "after": 0.239,
          "delta": 0.0541,
          "percent_delta": 0.2926,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3355,
          "after": 0.0,
          "delta": -0.3355,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8188,
          "after": 1.0,
          "delta": 0.1812,
          "percent_delta": 0.2213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1051,
          "after": 0.0,
          "delta": -0.1051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.246,
          "after": 0.313,
          "delta": 0.067,
          "percent_delta": 0.2724,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4297,
          "after": 0.0,
          "delta": -0.4297,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3028,
          "after": 0.393,
          "delta": 0.0902,
          "percent_delta": 0.2979,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8216,
          "after": 1.0,
          "delta": 0.1784,
          "percent_delta": 0.2171,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8188,
          "after": 1.0,
          "delta": 0.1812,
          "percent_delta": 0.2213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4297,
          "after": 0.0,
          "delta": -0.4297,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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": 10,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.415,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.252,
          "delta": 0.013,
          "percent_delta": 0.0544,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.328,
          "delta": 0.015,
          "percent_delta": 0.0479,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.415,
          "delta": 0.022,
          "percent_delta": 0.056,
          "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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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": 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_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": 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.226,
        "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.304,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.388,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.226,
          "delta": -0.026,
          "percent_delta": -0.1032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.304,
          "delta": -0.024,
          "percent_delta": -0.0732,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.388,
          "delta": -0.027,
          "percent_delta": -0.0651,
          "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.415,
          "after": 0.388,
          "delta": -0.027,
          "percent_delta": -0.0651,
          "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.207,
        "after": 0.0,
        "delta": -0.207,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.973,
        "after": 4.0,
        "delta": 1.027,
        "percent_delta": 0.3454,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.247,
        "after": 0.0,
        "delta": -0.247,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.059,
        "after": 0.0,
        "delta": -0.059,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.382,
        "after": 0.388,
        "delta": 0.006,
        "percent_delta": 0.0157,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.613,
        "after": 2.0,
        "delta": 1.387,
        "percent_delta": 2.2626,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.613,
        "after": 2.0,
        "delta": 1.387,
        "percent_delta": 2.2626,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.207-
predicted_3B0.027-
predicted_AB2.973-
predicted_AVG0.224-
predicted_BB0.247-
predicted_H0.400-
predicted_HR0.040-
predicted_OBP0.303-
predicted_R0.413-
predicted_RBI0.190-
predicted_SLG0.382-
predicted_SO0.613-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.171-0.036
predicted_3B0.022-0.005
predicted_AB2.965-0.008
predicted_AVG0.2360.012
predicted_BB0.240-0.007
predicted_H0.5500.150
predicted_HBP0.059-
predicted_HR0.0450.005
predicted_OBP0.3100.007
predicted_R0.396-0.017
predicted_RBI0.2530.063
predicted_SLG0.371-0.011
predicted_SO0.6170.004
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1710.000
predicted_3B0.0220.000
predicted_AB2.9650.000
predicted_AVG0.185-0.051
predicted_BB0.2400.001
predicted_H0.548-0.002
predicted_HBP0.0590.000
predicted_HR0.045-0.000
predicted_OBP0.246-0.064
predicted_R0.394-0.002
predicted_RBI0.251-0.001
predicted_SLG0.303-0.068
predicted_SO0.615-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.97), rates preserved: AVG=0.180 HR/AB=0.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. 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.1850.185
3B0.0130.013
BB0.3360.336
H0.819-0.181
HR0.1050.105
RBI0.4300.430
SO0.822-0.178
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.185
3B0.000-0.013
AB3.0000.000
AVG0.239-
BB0.000-0.336
H1.0000.181
HR0.000-0.105
OBP0.313-
R0.0000.000
RBI0.000-0.430
SLG0.393-
SO1.0000.178
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.171
predicted_3B0.000-0.022
predicted_AB3.0000.035
predicted_AVG0.2390.054
predicted_BB0.000-0.240
predicted_H1.0000.452
predicted_HR0.000-0.045
predicted_OBP0.3130.067
predicted_R0.000-0.394
predicted_RBI0.000-0.251
predicted_SLG0.3930.090
predicted_SO1.0000.385
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
AVG0.2520.013
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3280.015
R0.0000.000
RBI0.0000.000
SLG0.4150.022
SO1.0000.000
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
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
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
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: 150
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0000.0000.0000.0001.0002.0001.0003.0000.28570.33330.28570.28570.00000.07140.07140.2143
last_100.2010-28.0005.0000.0000.0000.0003.0002.0002.0006.0000.17860.25810.17860.17860.00000.10710.07140.2143
season0.60150-446.000119.00031.0004.00012.00057.00062.00037.00092.0000.26680.33540.43500.26680.02690.12780.08300.2063
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1240
predicted_3B0.0160
predicted_AB2.9550
predicted_AVG0.2527
predicted_BB0.2300
predicted_H0.7470
predicted_HBP0.0590
predicted_HR0.0510
predicted_OBP0.3187
predicted_R0.3740
predicted_RBI0.3350
predicted_SLG0.3569
predicted_SO0.6210
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.12400.1710model_form_blend
predicted_3B0.02700.01600.0222model_form_blend
predicted_AB2.97302.95502.9652model_form_blend
predicted_AVG0.22400.25270.2364model_form_blend
predicted_BB0.24700.23000.2396model_form_blend
predicted_H0.40000.74700.5504model_form_blend
predicted_HBP-0.05900.0590form_only
predicted_HR0.04000.05100.0448model_form_blend
predicted_OBP0.30300.31870.3098model_form_blend
predicted_R0.41300.37400.3961model_form_blend
predicted_RBI0.19000.33500.2528model_form_blend
predicted_SLG0.38200.35690.3711model_form_blend
predicted_SO0.61300.62100.6165model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
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.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-LF
gameID20261003_CHW@CLE
game_typeph
mlbID671976
noteSingled for Grichuk in the 6th.
playerID671976
playerNameTristan Peters
posCF
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-03
sl_k_percent18.3
sl_bb_percent7.5
sl_woba0.34
sl_xwoba0.314
sl_xba0.248
sl_xslg0.384
sl_sweet_spot_percent33.1
sl_barrel_batted_rate5.4
sl_hard_hit_percent34.1
sl_exit_velocity_avg87.5
sl_launch_angle_avg18.0
sl_whiff_percent23.0
sl_swing_percent53.6
Braden Montgomery (695731) · BATTER · RF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 349
All-history rows before 20261007: 349
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2162
Diff (system - data): 0.0088
System opponent_avg: 0.2270

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1770.0000.000Hitting_2B0.1631.000-0.163-1.000
predicted_3B0.0310.0000.000Hitting_3B0.0400.000-0.0400.000
predicted_AB3.5214.0004.000Hitting_AB3.6454.0000.3550.000
predicted_AVG0.2250.0000.000Hitting_AVG0.2160.250-0.216-0.250
predicted_BB0.3960.0000.000Hitting_BB0.4810.000-0.4810.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.7920.0000.000Hitting_H0.7881.000-0.788-1.000
predicted_HR0.0620.0000.000Hitting_HR0.0740.000-0.0740.000
predicted_OBP0.3030.0000.000Hitting_OBP0.3120.250-0.312-0.250
predicted_R0.5000.0000.000Hitting_R0.5531.000-0.553-1.000
predicted_RBI0.4170.0000.000Hitting_RBI0.4842.000-0.484-2.000
predicted_SLG0.3460.0000.000Hitting_SLG0.3440.500-0.344-0.500
predicted_SO0.8132.0002.000Hitting_SO0.8312.0001.1690.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 0.8130 -> 2.0000 (boost 1.1870, worse)
Biggest Deboostpredicted_H: 0.7920 -> 0.0000 (deboost -0.7920, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32112predicted_SO: 0.8130 -> 0.8657 (boost 0.0527, worse)predicted_BB: 0.3960 -> 0.3309 (deboost -0.0651, 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.8266 -> 1.0000 (boost 0.1734, better)predicted_AB: 3.5583 -> 3.0000 (deboost -0.5583, worse)AB rounded to 3 (raw=3.56), rates preserved: AVG=0.227 HR/AB=0.015
6consistency_constraints11010predicted_R: 0.5058 -> 1.0000 (boost 0.4942, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4215 (boost 0.4215, better)predicted_H: 1.0000 -> 0.7577 (deboost -0.2423, 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_allocation104637predicted_BB: 0.4215 -> 1.0000 (boost 0.5785, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization42213predicted_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_final10101-predicted_OBP: 0.3260 -> 0.3120 (deboost -0.0140, 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.177,
        "predicted_3B": 0.031,
        "predicted_AB": 3.521,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.396,
        "predicted_H": 0.792,
        "predicted_HR": 0.062,
        "predicted_OBP": 0.303,
        "predicted_R": 0.5,
        "predicted_RBI": 0.417,
        "predicted_SLG": 0.346,
        "predicted_SO": 0.813
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1809,
        "predicted_3B": 0.0259,
        "predicted_AB": 3.5583,
        "predicted_AVG": 0.2331,
        "predicted_BB": 0.3309,
        "predicted_H": 0.8297,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0547,
        "predicted_OBP": 0.2993,
        "predicted_R": 0.5086,
        "predicted_RBI": 0.4003,
        "predicted_SLG": 0.3448,
        "predicted_SO": 0.8657
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2331,
          "delta": 0.0081,
          "percent_delta": 0.036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.396,
          "after": 0.3309,
          "delta": -0.0651,
          "percent_delta": -0.1644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.813,
          "after": 0.8657,
          "delta": 0.0527,
          "percent_delta": 0.0648,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.813,
          "after": 0.8657,
          "delta": 0.0527,
          "percent_delta": 0.0648,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.396,
          "after": 0.3309,
          "delta": -0.0651,
          "percent_delta": -0.1644,
          "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": 96
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1809,
        "predicted_3B": 0.0259,
        "predicted_AB": 3.5583,
        "predicted_AVG": 0.2323,
        "predicted_BB": 0.3317,
        "predicted_H": 0.8266,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0546,
        "predicted_OBP": 0.2978,
        "predicted_R": 0.5058,
        "predicted_RBI": 0.3981,
        "predicted_SLG": 0.3438,
        "predicted_SO": 0.8635
      },
      "changed_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.56), rates preserved: AVG=0.227 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.1809,
          "after": 0.0,
          "delta": -0.1809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5583,
          "after": 3.0,
          "delta": -0.5583,
          "percent_delta": -0.1569,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3317,
          "after": 0.0,
          "delta": -0.3317,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8266,
          "after": 1.0,
          "delta": 0.1734,
          "percent_delta": 0.2098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0546,
          "after": 0.0,
          "delta": -0.0546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3981,
          "after": 0.0,
          "delta": -0.3981,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8635,
          "after": 1.0,
          "delta": 0.1365,
          "percent_delta": 0.1581,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8266,
          "after": 1.0,
          "delta": 0.1734,
          "percent_delta": 0.2098,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5583,
          "after": 3.0,
          "delta": -0.5583,
          "percent_delta": -0.1569,
          "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.5058,
          "after": 1.0,
          "delta": 0.4942,
          "percent_delta": 0.9771,
          "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.5058,
          "after": 1.0,
          "delta": 0.4942,
          "percent_delta": 0.9771,
          "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.162,
        "predicted_3B": 0.0127,
        "predicted_BB": 0.4215,
        "predicted_H": 0.7577,
        "predicted_HR": 0.0868,
        "predicted_RBI": 0.4068,
        "predicted_SO": 0.9016
      },
      "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.4215,
          "delta": 0.4215,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7577,
          "delta": -0.2423,
          "percent_delta": -0.2423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0868,
          "delta": 0.0868,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4068,
          "delta": 0.4068,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9016,
          "delta": -0.0984,
          "percent_delta": -0.0984,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4215,
          "delta": 0.4215,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7577,
          "delta": -0.2423,
          "percent_delta": -0.2423,
          "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.221,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.351,
        "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.2323,
          "after": 0.221,
          "delta": -0.0113,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4215,
          "after": 1.0,
          "delta": 0.5785,
          "percent_delta": 1.3725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7577,
          "after": 0.0,
          "delta": -0.7577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0868,
          "after": 0.0,
          "delta": -0.0868,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2978,
          "after": 0.311,
          "delta": 0.0132,
          "percent_delta": 0.0443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4068,
          "after": 0.0,
          "delta": -0.4068,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3438,
          "after": 0.351,
          "delta": 0.0072,
          "percent_delta": 0.0209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9016,
          "after": 1.0,
          "delta": 0.0984,
          "percent_delta": 0.1091,
          "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.4215,
          "after": 1.0,
          "delta": 0.5785,
          "percent_delta": 1.3725,
          "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": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.37,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.233,
          "delta": 0.012,
          "percent_delta": 0.0543,
          "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_OBP",
          "before": 0.311,
          "after": 0.326,
          "delta": 0.015,
          "percent_delta": 0.0482,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.37,
          "delta": 0.019,
          "percent_delta": 0.0541,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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_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_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": 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.232,
        "predicted_BB": 0.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_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.368,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.312,
          "delta": -0.014,
          "percent_delta": -0.0429,
          "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.326,
          "after": 0.312,
          "delta": -0.014,
          "percent_delta": -0.0429,
          "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.177,
        "after": 0.0,
        "delta": -0.177,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.521,
        "after": 4.0,
        "delta": 0.479,
        "percent_delta": 0.136,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.232,
        "delta": 0.007,
        "percent_delta": 0.0311,
        "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.792,
        "after": 0.0,
        "delta": -0.792,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.312,
        "delta": 0.009,
        "percent_delta": 0.0297,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.417,
        "after": 0.0,
        "delta": -0.417,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.346,
        "after": 0.368,
        "delta": 0.022,
        "percent_delta": 0.0636,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.813,
        "after": 2.0,
        "delta": 1.187,
        "percent_delta": 1.46,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.813,
        "after": 2.0,
        "delta": 1.187,
        "percent_delta": 1.46,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.792,
        "after": 0.0,
        "delta": -0.792,
        "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.031-
predicted_AB3.521-
predicted_AVG0.225-
predicted_BB0.396-
predicted_H0.792-
predicted_HR0.062-
predicted_OBP0.303-
predicted_R0.500-
predicted_RBI0.417-
predicted_SLG0.346-
predicted_SO0.813-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.004
predicted_3B0.026-0.005
predicted_AB3.5580.037
predicted_AVG0.2330.008
predicted_BB0.331-0.065
predicted_H0.8300.038
predicted_HBP0.020-
predicted_HR0.055-0.007
predicted_OBP0.299-0.004
predicted_R0.5090.009
predicted_RBI0.400-0.017
predicted_SLG0.345-0.001
predicted_SO0.8660.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.1810.000
predicted_3B0.0260.000
predicted_AB3.5580.000
predicted_AVG0.232-0.001
predicted_BB0.3320.001
predicted_H0.827-0.003
predicted_HBP0.0200.000
predicted_HR0.055-0.000
predicted_OBP0.298-0.002
predicted_R0.506-0.003
predicted_RBI0.398-0.002
predicted_SLG0.344-0.001
predicted_SO0.864-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.56), rates preserved: AVG=0.227 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. 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.1620.162
3B0.0130.013
BB0.4210.421
H0.758-0.242
HR0.0870.087
RBI0.4070.407
SO0.902-0.098
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.013
AB3.0000.000
AVG0.221-
BB1.0000.579
H0.000-0.758
HR0.000-0.087
OBP0.311-
R0.000-1.000
RBI0.000-0.407
SLG0.351-
SO1.0000.098
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.181
predicted_3B0.000-0.026
predicted_AB3.000-0.558
predicted_AVG0.221-0.011
predicted_BB1.0000.668
predicted_H0.000-0.827
predicted_HR0.000-0.055
predicted_OBP0.3110.013
predicted_R0.000-0.506
predicted_RBI0.000-0.398
predicted_SLG0.3510.007
predicted_SO1.0000.136
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2330.012
BB1.0000.000
H1.0001.000
HR0.0000.000
OBP0.3260.015
R0.0000.000
RBI0.0000.000
SLG0.3700.019
SO1.0000.000
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.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
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: 96
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0001.0000.0000.0002.0002.0000.0007.0000.21050.21050.26320.21050.00000.10530.00000.3684
last_100.2010-36.00012.0002.0000.0000.0002.0007.0000.0009.0000.33330.33330.38890.33330.00000.05560.00000.2500
season0.6096-338.00076.00017.0003.0006.00040.00048.00038.00078.0000.22490.30790.34620.22480.01770.11830.11240.2308
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1860
predicted_3B0.0190
predicted_AB3.6080
predicted_AVG0.2440
predicted_BB0.2440
predicted_H0.8800
predicted_HBP0.0200
predicted_HR0.0450
predicted_OBP0.2944
predicted_R0.5200
predicted_RBI0.3780
predicted_SLG0.3432
predicted_SO0.9360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17700.18600.1809model_form_blend
predicted_3B0.03100.01900.0259model_form_blend
predicted_AB3.52103.60803.5583model_form_blend
predicted_AVG0.22500.24400.2331model_form_blend
predicted_BB0.39600.24400.3309model_form_blend
predicted_H0.79200.88000.8297model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.06200.04500.0547model_form_blend
predicted_OBP0.30300.29440.2993model_form_blend
predicted_R0.50000.52000.5086model_form_blend
predicted_RBI0.41700.37800.4003model_form_blend
predicted_SLG0.34600.34320.3448model_form_blend
predicted_SO0.81300.93600.8657model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date349
Season rows before report date349
Report year2026
Profile rows used96
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20261005_CHW@CLE
game_typefull
mlbID695731
playerID695731
playerNameBraden Montgomery
posOF
startedTrue
startingPositionRF
teamCHW
teamID6
game_date2026-10-05
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
Randal Grichuk (545341) · BATTER · LF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 230
All-history rows before 20261007: 230
System season_avg: 0.2880
Data season_avg (2026 season-to-date): 0.3105
Diff (system - data): -0.0225
System opponent_avg: 0.3140
System season_avg diverges from 2026 season-to-date by -0.0225. 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.2310.0000.000Hitting_2B0.2780.000-0.2780.000
predicted_3B0.0180.0000.000Hitting_3B0.0300.000-0.0300.000
predicted_AB2.5003.0003.000Hitting_AB2.7871.0000.2132.000
predicted_AVG0.2880.3330.333Hitting_AVG0.3100.0000.0230.333
predicted_BB0.1110.0000.000Hitting_BB0.1221.000-0.122-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7201.0001.000Hitting_H0.8650.0000.1351.000
predicted_HR0.1381.0001.000Hitting_HR0.1610.0000.8391.000
predicted_OBP0.3180.3330.333Hitting_OBP0.3420.500-0.009-0.167
predicted_R0.3781.0001.000Hitting_R0.3911.0000.6090.000
predicted_RBI0.4241.0001.000Hitting_RBI0.5300.0000.4701.000
predicted_SLG0.5611.3331.333Hitting_SLG0.6050.0000.7281.333
predicted_SO0.5811.0001.000Hitting_SO0.6001.0000.4000.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_HR: 0.1380 -> 1.0000 (boost 0.8620, better)
Biggest Deboostpredicted_2B: 0.2310 -> 0.0000 (deboost -0.2310, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AB: 2.5000 -> 2.5650 (boost 0.0650, better)predicted_SLG: 0.5610 -> 0.5477 (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_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_RBI: 0.4531 -> 1.0000 (boost 0.5469, better)predicted_2B: 0.2082 -> 0.0000 (deboost -0.2082, worse)AB rounded to 3 (raw=2.56), rates preserved: AVG=0.275 HR/AB=0.057
6consistency_constraints10101-predicted_R: 0.3940 -> 0.0000 (deboost -0.3940, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.2188 (boost 0.2188, better)predicted_RBI: 1.0000 -> 0.5200 (deboost -0.4800, 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_allocation82626predicted_RBI: 0.5200 -> 1.0000 (boost 0.4800, better)predicted_BB: 0.2188 -> 0.0000 (deboost -0.2188, 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_environment33030predicted_SLG: 0.4520 -> 0.4760 (boost 0.0240, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_HR: 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_final30303-predicted_AVG: 0.2610 -> 0.2500 (deboost -0.0110, 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.231,
        "predicted_3B": 0.018,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.111,
        "predicted_H": 0.72,
        "predicted_HR": 0.138,
        "predicted_OBP": 0.318,
        "predicted_R": 0.378,
        "predicted_RBI": 0.424,
        "predicted_SLG": 0.561,
        "predicted_SO": 0.581
      },
      "changed_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.2082,
        "predicted_3B": 0.0155,
        "predicted_AB": 2.565,
        "predicted_AVG": 0.2829,
        "predicted_BB": 0.1431,
        "predicted_H": 0.7251,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1464,
        "predicted_OBP": 0.3196,
        "predicted_R": 0.3962,
        "predicted_RBI": 0.4557,
        "predicted_SLG": 0.5477,
        "predicted_SO": 0.5747
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.565,
          "delta": 0.065,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.2829,
          "delta": -0.0051,
          "percent_delta": -0.0177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.561,
          "after": 0.5477,
          "delta": -0.0133,
          "percent_delta": -0.0237,
          "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_AB",
          "before": 2.5,
          "after": 2.565,
          "delta": 0.065,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.561,
          "after": 0.5477,
          "delta": -0.0133,
          "percent_delta": -0.0237,
          "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": 115
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2082,
        "predicted_3B": 0.0155,
        "predicted_AB": 2.565,
        "predicted_AVG": 0.2816,
        "predicted_BB": 0.1435,
        "predicted_H": 0.7224,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1462,
        "predicted_OBP": 0.3197,
        "predicted_R": 0.394,
        "predicted_RBI": 0.4531,
        "predicted_SLG": 0.5459,
        "predicted_SO": 0.5733
      },
      "changed_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=2.56), rates preserved: AVG=0.275 HR/AB=0.057",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2082,
          "after": 0.0,
          "delta": -0.2082,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.565,
          "after": 3.0,
          "delta": 0.435,
          "percent_delta": 0.1696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1435,
          "after": 0.0,
          "delta": -0.1435,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7224,
          "after": 1.0,
          "delta": 0.2776,
          "percent_delta": 0.3843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1462,
          "after": 0.0,
          "delta": -0.1462,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4531,
          "after": 1.0,
          "delta": 0.5469,
          "percent_delta": 1.207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5733,
          "after": 1.0,
          "delta": 0.4267,
          "percent_delta": 0.7443,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4531,
          "after": 1.0,
          "delta": 0.5469,
          "percent_delta": 1.207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2082,
          "after": 0.0,
          "delta": -0.2082,
          "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.394,
          "after": 0.0,
          "delta": -0.394,
          "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.394,
          "after": 0.0,
          "delta": -0.394,
          "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.1811,
        "predicted_3B": 0.0108,
        "predicted_BB": 0.2188,
        "predicted_H": 0.8233,
        "predicted_HR": 0.1596,
        "predicted_RBI": 0.52,
        "predicted_SO": 0.9548
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1811,
          "delta": 0.1811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2188,
          "delta": 0.2188,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8233,
          "delta": -0.1767,
          "percent_delta": -0.1767,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1596,
          "delta": 0.1596,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.52,
          "delta": -0.48,
          "percent_delta": -0.48,
          "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.2188,
          "delta": 0.2188,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.52,
          "delta": -0.48,
          "percent_delta": -0.48,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.452,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1811,
          "after": 0.0,
          "delta": -0.1811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2816,
          "after": 0.247,
          "delta": -0.0346,
          "percent_delta": -0.1229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2188,
          "after": 0.0,
          "delta": -0.2188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8233,
          "after": 1.0,
          "delta": 0.1767,
          "percent_delta": 0.2146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1596,
          "after": 0.0,
          "delta": -0.1596,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3197,
          "after": 0.299,
          "delta": -0.0207,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 1.0,
          "delta": 0.48,
          "percent_delta": 0.9231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5459,
          "after": 0.452,
          "delta": -0.0939,
          "percent_delta": -0.172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 1.0,
          "delta": 0.48,
          "percent_delta": 0.9231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2188,
          "after": 0.0,
          "delta": -0.2188,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.452,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.261,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.476,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.261,
          "delta": 0.014,
          "percent_delta": 0.0567,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.314,
          "delta": 0.015,
          "percent_delta": 0.0502,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.452,
          "after": 0.476,
          "delta": 0.024,
          "percent_delta": 0.0531,
          "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.452,
          "after": 0.476,
          "delta": 0.024,
          "percent_delta": 0.0531,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 1.0
      },
      "changed_metrics": [
        {
          "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": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 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": 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.25,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.467,
        "predicted_SO": 1.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.261,
          "after": 0.25,
          "delta": -0.011,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.304,
          "delta": -0.01,
          "percent_delta": -0.0318,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.476,
          "after": 0.467,
          "delta": -0.009,
          "percent_delta": -0.0189,
          "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.261,
          "after": 0.25,
          "delta": -0.011,
          "percent_delta": -0.0421,
          "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.231,
        "after": 0.0,
        "delta": -0.231,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.288,
        "after": 0.25,
        "delta": -0.038,
        "percent_delta": -0.1319,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.111,
        "after": 0.0,
        "delta": -0.111,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.138,
        "after": 1.0,
        "delta": 0.862,
        "percent_delta": 6.2464,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.318,
        "after": 0.304,
        "delta": -0.014,
        "percent_delta": -0.044,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.378,
        "after": 1.0,
        "delta": 0.622,
        "percent_delta": 1.6455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.424,
        "after": 1.0,
        "delta": 0.576,
        "percent_delta": 1.3585,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.561,
        "after": 0.467,
        "delta": -0.094,
        "percent_delta": -0.1676,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.581,
        "after": 1.0,
        "delta": 0.419,
        "percent_delta": 0.7212,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.138,
        "after": 1.0,
        "delta": 0.862,
        "percent_delta": 6.2464,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.231,
        "after": 0.0,
        "delta": -0.231,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.231-
predicted_3B0.018-
predicted_AB2.500-
predicted_AVG0.288-
predicted_BB0.111-
predicted_H0.720-
predicted_HR0.138-
predicted_OBP0.318-
predicted_R0.378-
predicted_RBI0.424-
predicted_SLG0.561-
predicted_SO0.581-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.208-0.023
predicted_3B0.015-0.002
predicted_AB2.5650.065
predicted_AVG0.283-0.005
predicted_BB0.1430.032
predicted_H0.7250.005
predicted_HBP0.008-
predicted_HR0.1460.008
predicted_OBP0.3200.002
predicted_R0.3960.018
predicted_RBI0.4560.032
predicted_SLG0.548-0.013
predicted_SO0.575-0.006
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2080.000
predicted_3B0.0150.000
predicted_AB2.5650.000
predicted_AVG0.282-0.001
predicted_BB0.1430.000
predicted_H0.722-0.003
predicted_HBP0.0080.000
predicted_HR0.146-0.000
predicted_OBP0.3200.000
predicted_R0.394-0.002
predicted_RBI0.453-0.003
predicted_SLG0.546-0.002
predicted_SO0.573-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.56), rates preserved: AVG=0.275 HR/AB=0.057

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.1810.181
3B0.0110.011
BB0.2190.219
H0.823-0.177
HR0.1600.160
RBI0.520-0.480
SO0.955-0.045
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.181
3B0.000-0.011
AB3.0000.000
AVG0.247-
BB0.000-0.219
H1.0000.177
HR0.000-0.160
OBP0.299-
R0.0000.000
RBI1.0000.480
SLG0.452-
SO1.0000.045
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.208
predicted_3B0.000-0.015
predicted_AB3.0000.435
predicted_AVG0.247-0.035
predicted_BB0.000-0.143
predicted_H1.0000.278
predicted_HR0.000-0.146
predicted_OBP0.299-0.021
predicted_R0.000-0.394
predicted_RBI1.0000.547
predicted_SLG0.452-0.094
predicted_SO1.0000.427
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2610.014
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3140.015
R0.0000.000
RBI1.0000.000
SLG0.4760.024
SO1.0000.000
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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA3.000-
R1.0001.000
RBI1.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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA3.0000.000
R1.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: 115
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.0003.0000.0000.0001.0003.0002.0002.0003.0000.23080.33330.46150.23080.07690.23080.15380.2308
last_100.2010-30.0009.0002.0000.0002.0007.0006.0002.0004.0000.30000.33330.56670.30000.06670.23330.06670.1333
season0.60115-271.00078.00025.0002.00015.00046.00041.00012.00063.0000.28780.31710.56090.28780.05540.16970.04430.2325
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1770
predicted_3B0.0120
predicted_AB2.6540
predicted_AVG0.2759
predicted_BB0.1870
predicted_H0.7320
predicted_HBP0.0080
predicted_HR0.1580
predicted_OBP0.3219
predicted_R0.4210
predicted_RBI0.4990
predicted_SLG0.5294
predicted_SO0.5660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23100.17700.2082model_form_blend
predicted_3B0.01800.01200.0155model_form_blend
predicted_AB2.50002.65402.5650model_form_blend
predicted_AVG0.28800.27590.2829model_form_blend
predicted_BB0.11100.18700.1431model_form_blend
predicted_H0.72000.73200.7251model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.13800.15800.1464model_form_blend
predicted_OBP0.31800.32190.3196model_form_blend
predicted_R0.37800.42100.3962model_form_blend
predicted_RBI0.42400.49900.4557model_form_blend
predicted_SLG0.56100.52940.5477model_form_blend
predicted_SO0.58100.56600.5747model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B0
3B0
HR1
R1
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_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20261005_CHW@CLE
game_typeph
mlbID545341
noteWalked for Benintendi in the 6th.
playerID545341
playerNameRandal Grichuk
posDH
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-05
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
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 613
All-history rows before 20261007: 613
System season_avg: 0.1990
Data season_avg (2026 season-to-date): 0.2063
Diff (system - data): -0.0073
System opponent_avg: 0.2200

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.6993.0003.000Hitting_AB3.8193.000-0.8190.000
predicted_AVG0.2160.3330.333Hitting_AVG0.2060.6670.127-0.333
predicted_BB0.3530.0000.000Hitting_BB0.3740.000-0.3740.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.8001.0001.000Hitting_H0.7882.0000.212-1.000
predicted_HR0.1701.0001.000Hitting_HR0.2190.0000.7811.000
predicted_OBP0.2860.3330.333Hitting_OBP0.2920.6670.041-0.333
predicted_R0.4621.0001.000Hitting_R0.5060.0000.4941.000
predicted_RBI0.5601.0001.000Hitting_RBI0.6181.0000.3820.000
predicted_SLG0.3951.3331.333Hitting_SLG0.4241.0000.9100.333
predicted_SO1.4741.0001.000Hitting_SO1.5020.000-0.5021.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics7
Worse Metrics4
Biggest Boostpredicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better)
Biggest Deboostpredicted_AB: 3.6990 -> 3.0000 (deboost -0.6990, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 3.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_snapshot10101-predicted_OBP: 0.2805 -> 0.2700 (deboost -0.0105, 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.7331 -> 1.0000 (boost 0.2669, better)predicted_AB: 3.6177 -> 3.0000 (deboost -0.6177, worse)AB rounded to 3 (raw=3.70), rates preserved: AVG=0.193 HR/AB=0.047
6consistency_constraints10101-predicted_R: 0.4220 -> 0.0000 (deboost -0.4220, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4619 (boost 0.4619, better)predicted_H: 1.0000 -> 0.6613 (deboost -0.3387, 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_allocation82635predicted_OBP: 0.2700 -> 0.2890 (boost 0.0190, better)predicted_H: 0.6613 -> 0.0000 (deboost -0.6613, 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_environment44040predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup
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_realization33030predicted_H: 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": "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.216,
        "predicted_BB": 0.353,
        "predicted_H": 0.8,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.286,
        "predicted_R": 0.462,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.395,
        "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.2029,
        "predicted_BB": 0.3329,
        "predicted_H": 0.7358,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.1752,
        "predicted_OBP": 0.2805,
        "predicted_R": 0.4244,
        "predicted_RBI": 0.5159,
        "predicted_SLG": 0.3914,
        "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.216,
          "after": 0.2029,
          "delta": -0.0131,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8,
          "after": 0.7358,
          "delta": -0.0642,
          "percent_delta": -0.0803,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2805,
          "delta": -0.0055,
          "percent_delta": -0.0192,
          "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_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.2026,
        "predicted_BB": 0.3337,
        "predicted_H": 0.7331,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.175,
        "predicted_OBP": 0.27,
        "predicted_R": 0.422,
        "predicted_RBI": 0.513,
        "predicted_SLG": 0.3921,
        "predicted_SO": 1.4306
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2805,
          "after": 0.27,
          "delta": -0.0105,
          "percent_delta": -0.0374,
          "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.2805,
          "after": 0.27,
          "delta": -0.0105,
          "percent_delta": -0.0374,
          "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.193 HR/AB=0.047",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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.7331,
          "after": 1.0,
          "delta": 0.2669,
          "percent_delta": 0.3641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.118,
          "after": 0.0,
          "delta": -0.118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.175,
          "after": 0.0,
          "delta": -0.175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.513,
          "after": 0.0,
          "delta": -0.513,
          "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.7331,
          "after": 1.0,
          "delta": 0.2669,
          "percent_delta": 0.3641,
          "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": "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.422,
          "after": 0.0,
          "delta": -0.422,
          "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.422,
          "after": 0.0,
          "delta": -0.422,
          "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.1447,
        "predicted_3B": 0.0052,
        "predicted_BB": 0.3475,
        "predicted_H": 0.6613,
        "predicted_HR": 0.1647,
        "predicted_RBI": 0.4619,
        "predicted_SO": 1.4036
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1447,
          "delta": 0.1447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3475,
          "delta": 0.3475,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6613,
          "delta": -0.3387,
          "percent_delta": -0.3387,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1647,
          "delta": 0.1647,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4619,
          "delta": 0.4619,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4036,
          "delta": 0.4036,
          "percent_delta": 0.4036,
          "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.4619,
          "delta": 0.4619,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6613,
          "delta": -0.3387,
          "percent_delta": -0.3387,
          "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.206,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1447,
          "after": 0.0,
          "delta": -0.1447,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3475,
          "after": 0.0,
          "delta": -0.3475,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6613,
          "after": 0.0,
          "delta": -0.6613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1647,
          "after": 0.0,
          "delta": -0.1647,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.289,
          "delta": 0.019,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4619,
          "after": 0.0,
          "delta": -0.4619,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3921,
          "after": 0.408,
          "delta": 0.0159,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4036,
          "after": 1.0,
          "delta": -0.4036,
          "percent_delta": -0.2875,
          "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_OBP",
          "before": 0.27,
          "after": 0.289,
          "delta": 0.019,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6613,
          "after": 0.0,
          "delta": -0.6613,
          "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.206,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "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 club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.217,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.43,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.206,
          "after": 0.217,
          "delta": 0.011,
          "percent_delta": 0.0534,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.302,
          "delta": 0.013,
          "percent_delta": 0.045,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.43,
          "delta": 0.022,
          "percent_delta": 0.0539,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 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_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_H",
          "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": 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": 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.218,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 1.0,
        "predicted_SS": 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.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": 3.0,
        "delta": -0.699,
        "percent_delta": -0.189,
        "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.8,
        "after": 1.0,
        "delta": 0.2,
        "percent_delta": 0.25,
        "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.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.286,
        "after": 0.299,
        "delta": 0.013,
        "percent_delta": 0.0455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 1.0,
        "delta": 0.538,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.431,
        "delta": 0.036,
        "percent_delta": 0.0911,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.474,
        "after": 1.0,
        "delta": -0.474,
        "percent_delta": -0.3216,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 7,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.699,
        "after": 3.0,
        "delta": -0.699,
        "percent_delta": -0.189,
        "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.160-
predicted_3B0.000-
predicted_AB3.699-
predicted_AVG0.216-
predicted_BB0.353-
predicted_H0.800-
predicted_HR0.170-
predicted_OBP0.286-
predicted_R0.462-
predicted_RBI0.560-
predicted_SLG0.395-
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.203-0.013
predicted_BB0.333-0.020
predicted_H0.736-0.064
predicted_HBP0.118-
predicted_HR0.1750.005
predicted_OBP0.281-0.005
predicted_R0.424-0.038
predicted_RBI0.516-0.044
predicted_SLG0.391-0.004
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.203-0.000
predicted_BB0.3340.001
predicted_H0.733-0.003
predicted_HBP0.1180.000
predicted_HR0.175-0.000
predicted_OBP0.270-0.011
predicted_R0.422-0.002
predicted_RBI0.513-0.003
predicted_SLG0.3920.001
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.193 HR/AB=0.047

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0050.005
BB0.3470.347
H0.661-0.339
HR0.1650.165
RBI0.4620.462
SO1.4040.404
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.005
AB3.0000.000
AVG0.206-
BB0.000-0.347
H0.000-0.661
HR0.000-0.165
OBP0.289-
R0.0000.000
RBI0.000-0.462
SLG0.408-
SO1.000-0.404
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.160
predicted_3B0.000-0.000
predicted_AB3.000-0.618
predicted_AVG0.2060.003
predicted_BB0.000-0.334
predicted_H0.000-0.733
predicted_HR0.000-0.175
predicted_OBP0.2890.019
predicted_R0.000-0.422
predicted_RBI0.000-0.513
predicted_SLG0.4080.016
predicted_SO1.000-0.431
10. kpi_run_environment

KPI club run ratio x1.111 applied to runs and RBI, x1.054 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2170.011
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.3020.013
R0.0000.000
RBI1.0001.000
SLG0.4300.022
SO1.0000.000
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
BB0.0000.000
H1.0001.000
HBP0.0000.000
HR1.0001.000
PA3.000-
R1.0001.000
RBI1.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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA3.0000.000
R1.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: 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.21600.18600.2029model_form_blend
predicted_BB0.35300.30700.3329model_form_blend
predicted_H0.80000.65300.7358model_form_blend
predicted_HBP-0.11800.1180form_only
predicted_HR0.17000.18200.1752model_form_blend
predicted_OBP0.28600.27350.2805model_form_blend
predicted_R0.46200.37600.4244model_form_blend
predicted_RBI0.56000.45900.5159model_form_blend
predicted_SLG0.39500.38670.3914model_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
PA3
AB3
H1
2B0
3B0
HR1
R1
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_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
Sean Newcomb (656794) · PITCHER · Starter · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 62
All-history rows before 20261007: 62

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5651.0000.4350.000
predicted_ER2.0002.0002.000Pitching_ER0.5320.0001.4682.000
predicted_H4.0004.0004.000Pitching_H1.2261.0002.7743.000
predicted_IP3.1003.1003.100Pitching_InningsPitched1.3102.0001.7901.100
predicted_SO3.0003.0003.000Pitching_SO1.4033.0001.5970.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics2
Deboosted Metrics2
Better Metrics0
Worse Metrics4
Biggest Boostpredicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_SO: 7.0000 -> 3.0000 (deboost -4.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 published; the staff line follows the published score, not a KPI rescale
7starter_usage_guardrail10101-predicted_IP: 5.6667 -> 5.0000 (deboost -0.6667, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
8pitcher_quality_guardrail00000--Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
9market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
10play_by_play_realization42204predicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_SO: 7.0000 -> 3.0000 (deboost -4.0000, worse)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
11current_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": "656794",
  "player_name": "Sean Newcomb",
  "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": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "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 published; 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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.0,
          "delta": -0.6667,
          "percent_delta": -0.1176,
          "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": 5.6667,
          "after": 5.0,
          "delta": -0.6667,
          "percent_delta": -0.1176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.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": 9,
      "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": 10,
      "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": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.1,
        "predicted_R": 2.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 3.1,
          "delta": -1.9,
          "percent_delta": -0.38,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 3.0,
          "delta": -4.0,
          "percent_delta": -0.5714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "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": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.1,
        "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": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 3.1,
        "delta": -2.5667,
        "percent_delta": -0.4529,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 3.0,
        "delta": -4.0,
        "percent_delta": -0.5714,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 2,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 3.0,
        "delta": -4.0,
        "percent_delta": -0.5714,
        "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_ER1.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP5.667-
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 published; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. starter_usage_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0000.000
predicted_H3.0000.000
predicted_HR0.0000.000
predicted_IP5.000-0.667
predicted_SO7.0000.000
8. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0000.000
predicted_H3.0000.000
predicted_HR0.0000.000
predicted_IP5.0000.000
predicted_SO7.0000.000
9. 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
10. 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-
BF16.000-
ER2.000-
H4.000-
HR0.000-
IP3.100-
Pitches66.000-
R2.000-
SO3.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: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.1002.0005.0002.0009.0001.0002.45450.95450.27270.68180.27271.22730.1364
last_100.351013.10010.00016.0005.00014.0002.0006.75001.57500.75001.20000.37501.05000.1500
season0.206093.10031.00072.00033.00087.0004.0002.98931.12500.33210.77140.35360.93210.0429
Weighted Prediction From Real Data
MetricValue
predicted_BB0.7660
predicted_ER1.0580
predicted_ERA4.1802
predicted_H2.0570
predicted_HR0.2910
predicted_IP2.1000
predicted_SO2.4400
predicted_WHIP1.2387
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.76600.8683model_form_blend
predicted_ER1.00001.05801.0327model_form_blend
predicted_ERA-4.18024.1802form_only
predicted_H3.00002.05702.4691model_form_blend
predicted_HR0.00000.29100.1638model_form_blend
predicted_IP5.20002.10003.2000model_form_blend
predicted_SO7.00002.44004.4329model_form_blend
predicted_WHIP-1.23871.2387form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report 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
IP3.1
H4
R2
ER2
BB1
SO3
HR0
BF16
Pitches66

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_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 Faced9
Pitching_ER0
Pitching_ERA6.00
Pitching_Flyouts1
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched2.0
Pitching_Pitches40
Pitching_R0
Pitching_SO3
Pitching_Strikes24
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261005_CHW@CLE
game_typefull
mlbID656794
playerID656794
playerNameSean Newcomb
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-10-05
sl_k_percent22.6
sl_bb_percent9.1
sl_woba0.285
sl_xwoba0.317
sl_sweet_spot_percent34.1
sl_barrel_batted_rate6.5
sl_hard_hit_percent38.6
sl_whiff_percent23.9
sl_swing_percent45.9
sl_avg_best_speed77.732436083
sl_avg_hyper_speed94.013500335
Hagen Smith (696146) · PITCHER · Long Reliever · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 19
All-history rows before 20261007: 19

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.8420.000-0.8420.000
predicted_ER2.0002.0002.000Pitching_ER0.2110.0001.7892.000
predicted_H2.0002.0002.000Pitching_H0.6842.0001.3160.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.4843.000-0.384-1.900
predicted_SO1.0001.0001.000Pitching_SO2.2111.000-1.2110.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics2
Deboosted Metrics1
Better Metrics1
Worse Metrics2
Biggest Boostpredicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization32112predicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, 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": "696146",
  "player_name": "Hagen Smith",
  "position": "Long Reliever",
  "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": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.1,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 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": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "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": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.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_ER",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "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
      },
      {
        "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": 1,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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_H2.000-
predicted_HR1.000-
predicted_IP1.333-
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 published; 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-
BF6.000-
ER2.000-
H2.000-
HR1.000-
IP1.100-
Pitches32.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: 18
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.1001.0004.0004.0008.0000.0001.22731.09090.13640.54540.54541.09090.0000
last_100.351018.0003.0008.0006.00023.0000.0001.50000.77780.16670.44440.33331.27780.0000
season0.201831.0003.00012.00016.00042.0000.0000.87100.90320.09680.38710.51611.35480.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6150
predicted_ER0.4360
predicted_ERA2.7309
predicted_H1.0070
predicted_HR0.0930
predicted_IP1.1000
predicted_SO1.5630
predicted_WHIP1.1288
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.61500.2858model_form_blend
predicted_ER1.00000.43600.7379model_form_blend
predicted_ERA-2.73092.7309form_only
predicted_H2.00001.00701.5386model_form_blend
predicted_HR1.00000.09300.5785model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO0.00001.56300.7263model_form_blend
predicted_WHIP-1.12881.1288form_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 date19
Season rows before report date19
Report year2026
Profile rows used18
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H2
R2
ER2
BB0
SO1
HR1
BF6
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 Faced11
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts7
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches38
Pitching_R0
Pitching_SO1
Pitching_Strikes28
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260929_CHW@HOU
game_typefull
mlbID696146
playerID696146
playerNameHagen Smith
posP
startedTrue
startingPositionP
teamCHW
teamID6
game_date2026-09-29
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 20261007: 43
All-history rows before 20261007: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5810.0000.4191.000
predicted_ER1.0001.0001.000Pitching_ER0.3953.0000.605-2.000
predicted_H2.0002.0002.000Pitching_H0.8374.0001.163-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7841.0000.2160.000
predicted_SO1.0001.0001.000Pitching_SO1.1402.000-0.140-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics0
Deboosted Metrics3
Better Metrics3
Worse Metrics0
Biggest Boost-
Biggest Deboostpredicted_ER: 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization30330-predicted_ER: 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": "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": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.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 published; 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": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.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
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "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": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 2.0,
        "delta": -2.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
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 0,
      "deboosted_metrics": 3,
      "better_metrics": 3,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_ER",
        "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_BB1.000-
predicted_ER3.000-
predicted_H4.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 published; 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-
BF6.000-
ER1.000-
H2.000-
HR0.000-
IP1.000-
Pitches22.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: 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.0796
predicted_H1.1420
predicted_HR0.1700
predicted_IP1.0000
predicted_SO1.3460
predicted_WHIP1.4929
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.49100.7502model_form_blend
predicted_ER3.00000.61701.8307model_form_blend
predicted_ERA-5.07965.0796form_only
predicted_H4.00001.14202.5977model_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.49291.4929form_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
H2
R1
ER1
BB1
SO1
HR0
BF6
Pitches22

Latest Real Data Snapshot (before report date)

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

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2540.000-0.2540.000
predicted_ER0.0000.0000.000Pitching_ER0.3282.000-0.328-2.000
predicted_H1.0001.0001.000Pitching_H0.9254.0000.075-3.000
predicted_IP3.1003.1003.100Pitching_InningsPitched0.8570.1002.2433.000
predicted_SO2.0002.0002.000Pitching_SO0.8810.0001.1192.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics3
Deboosted Metrics0
Better Metrics2
Worse Metrics1
Biggest Boostpredicted_IP: 1.0000 -> 3.1000 (boost 2.1000, 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization33021predicted_IP: 1.0000 -> 3.1000 (boost 2.1000, 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": "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": 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 published; 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": 3.1,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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.0,
          "after": 3.1,
          "delta": 2.1,
          "percent_delta": 2.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 3.1,
          "delta": 2.1,
          "percent_delta": 2.1,
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "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.0,
        "after": 3.1,
        "delta": 2.1,
        "percent_delta": 2.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 3,
      "deboosted_metrics": 0,
      "better_metrics": 2,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 3.1,
        "delta": 2.1,
        "percent_delta": 2.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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_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 published; 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-
BF11.000-
ER0.000-
H1.000-
HR0.000-
IP3.100-
Pitches36.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: 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.4410
predicted_H1.1250
predicted_HR0.1520
predicted_IP1.0000
predicted_SO0.7090
predicted_WHIP1.2654
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.44103.4410form_only
predicted_H0.00001.12500.6027model_form_blend
predicted_HR0.00000.15200.0814model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.70900.3799model_form_blend
predicted_WHIP-1.26541.2654form_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
IP3.1
H1
R0
ER0
BB0
SO2
HR0
BF11
Pitches36

Latest Real 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

20261007_LAD@ATL

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 6, "home_runs": 4, "confidence": 0.50717655, "home_win_probability": 0.49282345000000005, "away_win_probability": 0.50717655, "predicted_score_text": "LAD 6 - 4 ATL", "uncapped_home_win_probability": 0.491557, "uncapped_away_win_probability": 0.508443, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.508443, "discount_factor": 0.85, "published_confidence": 0.507177, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": false, "confidence_before_ceiling": 0.507177, "applied_discounts": [{"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.3, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.492823, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 6, "home_runs": 4, "predicted_score_text": "LAD 6 - 4 ATL", "confidence": 0.50717655, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 6, "home_runs": 4, "score_text": "LAD 6 - 4 ATL", "winner": "LAD"}, "final_simulation_score": {"away_runs": 6, "home_runs": 4, "score_text": "LAD 6 - 4 ATL", "winner": "LAD"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.1387, "recent_form_edge_home_minus_away": -0.314, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 6, "home_runs": 4, "winner": "LAD", "model_winner": "LAD", "simulation_winner": "LAD", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 6, "published_winner": "LAD", "published_winner_draw_share": 0.6667, "draw_majority_team": "LAD", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 2, "simulation_margin": 2, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 6, "home_runs": 4}, "simulation_score": {"away_runs": 6, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.6096, "winner": "LAD", "score_reviewed": {"away_runs": 6, "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 predictionLAD 6 - 4 ATLLAD0.507enhanced_prediction.pre_simulation_targetTrue
Simulation drawLAD 6 - 4 ATLLAD-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5348; empirical=0.5474; weight=0.4500; final=0.5405
P1H2H margin as base featureavailablehome net=13; abs=13; home delta=0.0750; away delta=-0.0750
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.5802; recent edge=-0.6640; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.2000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5072
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.6953.971-Base ML historical model prediction
2variance_applied54-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction540.5072Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4kpi_layer54-Savant KPI blend applied to the model target
5embedded_savant_run_environment64-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review64-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target64-Capped at max 12 realistic runs
8simulation_result64-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7692178284320569,
  "base_low_score_probability": 0.4275618374558304,
  "low_score_signal_threshold": 0.5075618374558304,
  "low_score_signal_strength": 0.3416559909762265,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.08,
    "situational": 1.0712000000000002,
    "combined": 1.7990797144320008
  },
  "prediction": "low_scoring",
  "expected_total_runs": 10,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.2,
  "low_score_model_expected_total_runs": 6.2,
  "final_simulation_total_runs": 10,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 612,
  "near_bucket_sample_size": 612,
  "medium_bucket_sample_size": 822,
  "wide_bucket_sample_size": 905,
  "global_sample_size": 1135,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5474,
  "bayesian_hit_rate": 0.546,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5097,
  "raw_pick_probability_unclamped": 0.5097,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.4927,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5086,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.490314,
  "uncapped_away_win_probability": 0.509686,
  "calibrated_pick_probability": 0.5084,
  "predicted_side": "away",
  "reliability": 0.971429,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.981429
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.534804,
  "sample_size": 612,
  "empirical_hit_rate": 0.5474,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.540472,
  "published_confidence": 0.507177,
  "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": 13.0,
  "absolute_net_margin": 13.0,
  "home_average_margin": 2.6,
  "home_run_delta": 0.075,
  "away_run_delta": -0.075,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802469135802469,
    "runs_scored": 742,
    "runs_allowed": 626,
    "run_differential": 116,
    "run_differential_per_game": 0.7160493827160493,
    "available": true
  },
  "away": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6172839506172839,
    "runs_scored": 801,
    "runs_allowed": 600,
    "run_differential": 201,
    "run_differential_per_game": 1.2407407407407407,
    "available": true
  },
  "run_differential_edge_per_game": -0.5247,
  "win_pct_edge": -0.037,
  "quality_edge": -0.6096,
  "season_quality_edge": -0.5802,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.5802,
    "recent_quality_edge": -0.664,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -0.6096
  },
  "margin_adjustment": -0.256,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": -0.256,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": -0.6096,
    "season_quality_edge": -0.5802,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 3.853,
    "home_runs": 1.95,
    "home_win_probability": 0.3382
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.029489293489311747
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.027917437096966608
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.02755127327653959
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.027151150086434102
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.026653902819991263
    }
  ],
  "home_distribution": {
    "0": 0.09211252309380141,
    "1": 0.13288998686610193,
    "2": 0.16404895161360217,
    "3": 0.17328552273421471,
    "4": 0.15662414851489012,
    "5": 0.12113308721911,
    "6": 0.08016309371442268,
    "7": 0.045393510879338794,
    "8": 0.02199483451469634,
    "9": 0.00911916858374983,
    "10": 0.003235172266072179
  },
  "away_distribution": {
    "0": 0.08833595639220453,
    "1": 0.1277785247823392,
    "2": 0.15899350875836135,
    "3": 0.17017747948016648,
    "4": 0.15668446883516363,
    "5": 0.12409405660453059,
    "6": 0.08454290824049321,
    "7": 0.04954553863778199,
    "8": 0.024976587112597547,
    "9": 0.010830856563193806,
    "10": 0.004040114593167503
  },
  "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",
    "recent head-to-head margin does not support a strong repeat pick",
    "local prediction memory shows 3 straight prior same-side picks",
    "a prior same-side pick already missed against the actual result",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "LAD",
    "opponent_team": "ATL",
    "h2h_net_margin": -3,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-08-27",
        "predicted_team_runs": 0,
        "opponent_runs": 1,
        "margin_for_predicted_team": -1,
        "winner": "ATL"
      },
      {
        "date": "2026-08-26",
        "predicted_team_runs": 5,
        "opponent_runs": 6,
        "margin_for_predicted_team": -1,
        "winner": "ATL"
      },
      {
        "date": "2026-08-25",
        "predicted_team_runs": 3,
        "opponent_runs": 4,
        "margin_for_predicted_team": -1,
        "winner": "ATL"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 6,
      "consecutive_same_pick_count": 3,
      "same_pick_actual_loss_count": 3,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20261006",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "LAD",
          "actual_margin": 2,
          "raw_pick_probability": 0.505154,
          "artifact": "20261006_LAD@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261004",
          "away": "ATL",
          "home": "LAD",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.514946,
          "artifact": "20261004_ATL@LAD.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261003",
          "away": "ATL",
          "home": "LAD",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "LAD",
          "actual_margin": 2,
          "raw_pick_probability": 0.546692,
          "artifact": "20261003_ATL@LAD.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260827",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "ATL",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.560841,
          "artifact": "20260827_LAD@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260826",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.5486690000000001,
          "artifact": "20260826_LAD@ATL.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "LAD",
    "guardrail_opponent_team": "ATL",
    "output_pre_simulation_winner": "LAD",
    "output_opponent_team": "ATL",
    "simulation_score_winner": "LAD",
    "final_score_winner": "LAD",
    "pre_simulation_winner": "LAD",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only"
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "ATL",
      "games": 162,
      "wins": 94,
      "losses": 68,
      "win_pct": 0.5802469135802469,
      "runs_scored": 742,
      "runs_allowed": 626,
      "run_differential": 116,
      "run_differential_per_game": 0.7160493827160493,
      "available": true
    },
    "away": {
      "team": "LAD",
      "games": 162,
      "wins": 100,
      "losses": 62,
      "win_pct": 0.6172839506172839,
      "runs_scored": 801,
      "runs_allowed": 600,
      "run_differential": 201,
      "run_differential_per_game": 1.2407407407407407,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.1,
  "final_margin": -0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.6096,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.535236,
  "final_confidence": 0.5084,
  "calibrated_pick_probability": 0.5084,
  "shrinkage_weight": 0.981429,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 612,
  "calibration_empirical_hit_rate": 0.5474,
  "calibration_bayesian_hit_rate": 0.546,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.6096,
  "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.491557,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.981429,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.491557,
    "aligned_pick_probability": 0.508443
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 13,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 6,
    "home_runs": 4,
    "score_text": "LAD 6 - 4 ATL",
    "winner": "LAD"
  },
  "final_simulation_score": {
    "away_runs": 6,
    "home_runs": 4,
    "score_text": "LAD 6 - 4 ATL",
    "winner": "LAD"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.1387,
    "recent_form_edge_home_minus_away": -0.314,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 6,
    "home_runs": 4,
    "winner": "LAD",
    "model_winner": "LAD",
    "simulation_winner": "LAD",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 6,
      "published_winner": "LAD",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "LAD",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 2,
    "simulation_margin": 2,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 6,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 6,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.6096,
    "winner": "LAD",
    "score_reviewed": {
      "away_runs": 6,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 6,
  "home_runs": 4,
  "confidence": 0.50717655,
  "home_win_probability": 0.49282345000000005,
  "away_win_probability": 0.50717655,
  "predicted_score_text": "LAD 6 - 4 ATL",
  "uncapped_home_win_probability": 0.491557,
  "uncapped_away_win_probability": 0.508443,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.508443,
    "discount_factor": 0.85,
    "published_confidence": 0.507177,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": false,
    "confidence_before_ceiling": 0.507177,
    "applied_discounts": [
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.3,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.492823,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 6,
    "home_runs": 4,
    "predicted_score_text": "LAD 6 - 4 ATL",
    "confidence": 0.50717655,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 4,
      "score_text": "LAD 6 - 4 ATL",
      "winner": "LAD"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 4,
      "score_text": "LAD 6 - 4 ATL",
      "winner": "LAD"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.1387,
      "recent_form_edge_home_minus_away": -0.314,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 4,
      "winner": "LAD",
      "model_winner": "LAD",
      "simulation_winner": "LAD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "LAD",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "LAD",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.6096,
      "winner": "LAD",
      "score_reviewed": {
        "away_runs": 6,
        "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 LADTrue1.06801.0680190
Home ATLTrue1.03861.0386190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
SSMookie Betts-1.05920.7895neutral0.33900.27800.43507.803890.2017.9012.50118.900.0286
1BFreddie Freeman-1.08461.1277neutral0.36300.29000.46308.1041.3089.5012.2023.2017.70100.4286
CWill Smith-1.12361.6486positive_batter_regression0.38900.27900.502012.4041.2089.1020.1016.7016.3012.301.2571
DHShohei Ohtani-1.14011.8682neutral0.39700.28600.552016.4052.1093.3012.3031.7024.6013.100.5714
LFTeoscar Hernández-1.05220.6961neutral0.33200.25600.437010.7044.8090.3013.9032.6027.508.600
3BMax Muncy-1.06930.9236neutral0.34900.24200.470012.9045.8089.9017.5029.202511.60-0.3429
2BEnrique Hernández-0.9921-0.1058neutral0.27900.22000.36708.1040.308910.902529.206.30-0.4000
RFKyle Tucker-1.03580.4771neutral0.33100.25600.39306.4036.3088.5018.1020.8016.7012.400.3714
CFAndy Pages-1.05500.7337neutral0.34300.27400.44207.9042.3088.9015.7022.1019.708.50-0.2571

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFMichael Harris II-1.07020.9360neutral0.34200.29000.477010.3047.6090.501024.6019.203.70-0.2000
RFRonald Acuña Jr.-1.09461.2607neutral0.36600.26100.49501343.5089.6015.70292211.300.5143
1BMatt Olson-1.08991.1980neutral0.35100.24700.503014.205292.5018.1025.4024.509.200
2BOzzie Albies-0.9552-0.5967neutral0.27300.22100.33703.8027.7087.1017.8021.2015.406.70-0.7143
DHDrake Baldwin-1.10931.4576neutral0.37000.27900.505012.9050.6091.501124.4021.508.900.3429
LFMike Yastrzemski-1.01620.2160neutral0.30900.23500.36806.804390.4016.2023.2024100.0857
SSMauricio Dubón-0.9974-0.0343neutral0.30400.26800.3750429.4086.5016.1015.3011.805.70-0.3714
3BAustin Riley-1.02390.3191neutral0.29900.21300.396012.4044.3091.3018.5031.9031.907.600.2571
CSean Murphy-0.9903-0.1298neutral0.27300.20600.33208.2041.1087.805.6031.9030.609.100.6000
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0386,
    "raw_average_factor": 1.0386,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "671739",
        "player_name": "Michael Harris II",
        "offense_factor": 1.0702,
        "quality_score": 0.936,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671739",
          "espn_rank": null
        },
        "metrics": {
          "pa": 573.0,
          "k_percent": 19.2,
          "bb_percent": 3.7,
          "woba": 0.349,
          "xwoba": 0.342,
          "xba": 0.29,
          "xslg": 0.477,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 47.6,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 10.0,
          "whiff_percent": 24.6,
          "swing_percent": 56.4
        },
        "components": {
          "expected_quality": 1.1209,
          "regression_edge": -0.2,
          "xwoba_edge": 1.2286,
          "xba_edge": 1.5429,
          "xslg_edge": 1.6286,
          "barrel_edge": 0.8222,
          "hard_hit_edge": 1.4286,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "660670",
        "player_name": "Ronald Acuña Jr.",
        "offense_factor": 1.0946,
        "quality_score": 1.2607,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "660670",
          "espn_rank": null
        },
        "metrics": {
          "pa": 429.0,
          "k_percent": 22.0,
          "bb_percent": 11.3,
          "woba": 0.348,
          "xwoba": 0.366,
          "xba": 0.261,
          "xslg": 0.495,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 15.7,
          "whiff_percent": 29.0,
          "swing_percent": 49.4
        },
        "components": {
          "expected_quality": 1.3822,
          "regression_edge": 0.5143,
          "xwoba_edge": 1.9143,
          "xba_edge": 0.7143,
          "xslg_edge": 1.8857,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 0.8429,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "621566",
        "player_name": "Matt Olson",
        "offense_factor": 1.0899,
        "quality_score": 1.198,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "621566",
          "espn_rank": null
        },
        "metrics": {
          "pa": 646.0,
          "k_percent": 24.5,
          "bb_percent": 9.2,
          "woba": 0.351,
          "xwoba": 0.351,
          "xba": 0.247,
          "xslg": 0.503,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 14.2,
          "hard_hit_percent": 52.0,
          "exit_velocity_avg": 92.5,
          "launch_angle_avg": 18.1,
          "whiff_percent": 25.4,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": 1.3931,
          "regression_edge": 0.0,
          "xwoba_edge": 1.4857,
          "xba_edge": 0.3143,
          "xslg_edge": 2.0,
          "barrel_edge": 1.6889,
          "hard_hit_edge": 2.0571,
          "exit_velocity_edge": 1.64,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "2B",
        "player_id": "645277",
        "player_name": "Ozzie Albies",
        "offense_factor": 0.9552,
        "quality_score": -0.5967,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "645277",
          "espn_rank": null
        },
        "metrics": {
          "pa": 634.0,
          "k_percent": 15.4,
          "bb_percent": 6.7,
          "woba": 0.298,
          "xwoba": 0.273,
          "xba": 0.221,
          "xslg": 0.337,
          "sweet_spot_percent": 32.3,
          "barrel_batted_rate": 3.8,
          "hard_hit_percent": 27.7,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 17.8,
          "whiff_percent": 21.2,
          "swing_percent": 56.1
        },
        "components": {
          "expected_quality": -0.5775,
          "regression_edge": -0.7143,
          "xwoba_edge": -0.7429,
          "xba_edge": -0.4286,
          "xslg_edge": -0.3714,
          "barrel_edge": -0.6222,
          "hard_hit_edge": -1.4143,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": -0.1667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "686948",
        "player_name": "Drake Baldwin",
        "offense_factor": 1.1093,
        "quality_score": 1.4576,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "686948",
          "espn_rank": null
        },
        "metrics": {
          "pa": 570.0,
          "k_percent": 21.5,
          "bb_percent": 8.9,
          "woba": 0.358,
          "xwoba": 0.37,
          "xba": 0.279,
          "xslg": 0.505,
          "sweet_spot_percent": 37.5,
          "barrel_batted_rate": 12.9,
          "hard_hit_percent": 50.6,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 11.0,
          "whiff_percent": 24.4,
          "swing_percent": 51.2
        },
        "components": {
          "expected_quality": 1.6391,
          "regression_edge": 0.3429,
          "xwoba_edge": 2.0286,
          "xba_edge": 1.2286,
          "xslg_edge": 2.0286,
          "barrel_edge": 1.4,
          "hard_hit_edge": 1.8571,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 0.7,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "573262",
        "player_name": "Mike Yastrzemski",
        "offense_factor": 1.0162,
        "quality_score": 0.216,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "573262",
          "espn_rank": null
        },
        "metrics": {
          "pa": 363.0,
          "k_percent": 24.0,
          "bb_percent": 10.0,
          "woba": 0.306,
          "xwoba": 0.309,
          "xba": 0.235,
          "xslg": 0.368,
          "sweet_spot_percent": 31.3,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 43.0,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.2,
          "whiff_percent": 23.2,
          "swing_percent": 42.6
        },
        "components": {
          "expected_quality": 0.2372,
          "regression_edge": 0.0857,
          "xwoba_edge": 0.2857,
          "xba_edge": -0.0286,
          "xslg_edge": 0.0714,
          "barrel_edge": 0.0444,
          "hard_hit_edge": 0.7714,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.3333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "643289",
        "player_name": "Mauricio Dubón",
        "offense_factor": 0.9974,
        "quality_score": -0.0343,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "643289",
          "espn_rank": null
        },
        "metrics": {
          "pa": 574.0,
          "k_percent": 11.8,
          "bb_percent": 5.7,
          "woba": 0.317,
          "xwoba": 0.304,
          "xba": 0.268,
          "xslg": 0.375,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 29.4,
          "exit_velocity_avg": 86.5,
          "launch_angle_avg": 16.1,
          "whiff_percent": 15.3,
          "swing_percent": 53.7
        },
        "components": {
          "expected_quality": 0.0206,
          "regression_edge": -0.3714,
          "xwoba_edge": 0.1429,
          "xba_edge": 0.9143,
          "xslg_edge": 0.1714,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -1.1714,
          "exit_velocity_edge": -0.76,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "663586",
        "player_name": "Austin Riley",
        "offense_factor": 1.0239,
        "quality_score": 0.3191,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663586",
          "espn_rank": null
        },
        "metrics": {
          "pa": 589.0,
          "k_percent": 31.9,
          "bb_percent": 7.6,
          "woba": 0.29,
          "xwoba": 0.299,
          "xba": 0.213,
          "xslg": 0.396,
          "sweet_spot_percent": 34.3,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 44.3,
          "exit_velocity_avg": 91.3,
          "launch_angle_avg": 18.5,
          "whiff_percent": 31.9,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 0.3291,
          "regression_edge": 0.2571,
          "xwoba_edge": 0.0,
          "xba_edge": -0.6571,
          "xslg_edge": 0.4714,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 0.9571,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": 0.1667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "C",
        "player_id": "669221",
        "player_name": "Sean Murphy",
        "offense_factor": 0.9903,
        "quality_score": -0.1298,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669221",
          "espn_rank": null
        },
        "metrics": {
          "pa": 96.0,
          "k_percent": 30.6,
          "bb_percent": 9.1,
          "woba": 0.252,
          "xwoba": 0.273,
          "xba": 0.206,
          "xslg": 0.332,
          "sweet_spot_percent": 26.0,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 41.1,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 5.6,
          "whiff_percent": 31.9,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": -0.433,
          "regression_edge": 0.6,
          "xwoba_edge": -0.7429,
          "xba_edge": -0.8571,
          "xslg_edge": -0.4429,
          "barrel_edge": 0.3556,
          "hard_hit_edge": 0.5,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": -1.2167,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.068,
    "raw_average_factor": 1.068,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "SS",
        "player_id": "605141",
        "player_name": "Mookie Betts",
        "offense_factor": 1.0592,
        "quality_score": 0.7895,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "605141",
          "espn_rank": null
        },
        "metrics": {
          "pa": 475.0,
          "k_percent": 11.0,
          "bb_percent": 8.9,
          "woba": 0.338,
          "xwoba": 0.339,
          "xba": 0.278,
          "xslg": 0.435,
          "sweet_spot_percent": 40.4,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 38.0,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 17.9,
          "whiff_percent": 12.5,
          "swing_percent": 41.3
        },
        "components": {
          "expected_quality": 0.9134,
          "regression_edge": 0.0286,
          "xwoba_edge": 1.1429,
          "xba_edge": 1.2,
          "xslg_edge": 1.0286,
          "barrel_edge": 0.2667,
          "hard_hit_edge": 0.0571,
          "exit_velocity_edge": 0.72,
          "sweet_spot_edge": 1.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "518692",
        "player_name": "Freddie Freeman",
        "offense_factor": 1.0846,
        "quality_score": 1.1277,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "518692",
          "espn_rank": null
        },
        "metrics": {
          "pa": 607.0,
          "k_percent": 17.7,
          "bb_percent": 10.0,
          "woba": 0.348,
          "xwoba": 0.363,
          "xba": 0.29,
          "xslg": 0.463,
          "sweet_spot_percent": 38.7,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 41.3,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 12.2,
          "whiff_percent": 23.2,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": 1.2415,
          "regression_edge": 0.4286,
          "xwoba_edge": 1.8286,
          "xba_edge": 1.5429,
          "xslg_edge": 1.4286,
          "barrel_edge": 0.3333,
          "hard_hit_edge": 0.5286,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.9,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "669257",
        "player_name": "Will Smith",
        "offense_factor": 1.1236,
        "quality_score": 1.6486,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669257",
          "espn_rank": null
        },
        "metrics": {
          "pa": 242.0,
          "k_percent": 16.3,
          "bb_percent": 12.3,
          "woba": 0.345,
          "xwoba": 0.389,
          "xba": 0.279,
          "xslg": 0.502,
          "sweet_spot_percent": 43.3,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 41.2,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 20.1,
          "whiff_percent": 16.7,
          "swing_percent": 41.6
        },
        "components": {
          "expected_quality": 1.7123,
          "regression_edge": 1.2571,
          "xwoba_edge": 2.5,
          "xba_edge": 1.2286,
          "xslg_edge": 1.9857,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 0.5143,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": 1.6667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "660271",
        "player_name": "Shohei Ohtani",
        "offense_factor": 1.1401,
        "quality_score": 1.8682,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "660271",
          "espn_rank": null
        },
        "metrics": {
          "pa": 571.0,
          "k_percent": 24.6,
          "bb_percent": 13.1,
          "woba": 0.377,
          "xwoba": 0.397,
          "xba": 0.286,
          "xslg": 0.552,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 16.4,
          "hard_hit_percent": 52.1,
          "exit_velocity_avg": 93.3,
          "launch_angle_avg": 12.3,
          "whiff_percent": 31.7,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": 2.0793,
          "regression_edge": 0.5714,
          "xwoba_edge": 2.5,
          "xba_edge": 1.4286,
          "xslg_edge": 2.5,
          "barrel_edge": 2.1778,
          "hard_hit_edge": 2.0714,
          "exit_velocity_edge": 1.96,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "606192",
        "player_name": "Teoscar Hernández",
        "offense_factor": 1.0522,
        "quality_score": 0.6961,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "606192",
          "espn_rank": null
        },
        "metrics": {
          "pa": 443.0,
          "k_percent": 27.5,
          "bb_percent": 8.6,
          "woba": 0.332,
          "xwoba": 0.332,
          "xba": 0.256,
          "xslg": 0.437,
          "sweet_spot_percent": 33.5,
          "barrel_batted_rate": 10.7,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 13.9,
          "whiff_percent": 32.6,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": 0.8094,
          "regression_edge": 0.0,
          "xwoba_edge": 0.9429,
          "xba_edge": 0.5714,
          "xslg_edge": 1.0571,
          "barrel_edge": 0.9111,
          "hard_hit_edge": 1.0286,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.0333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "571970",
        "player_name": "Max Muncy",
        "offense_factor": 1.0693,
        "quality_score": 0.9236,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "571970",
          "espn_rank": null
        },
        "metrics": {
          "pa": 519.0,
          "k_percent": 25.0,
          "bb_percent": 11.6,
          "woba": 0.361,
          "xwoba": 0.349,
          "xba": 0.242,
          "xslg": 0.47,
          "sweet_spot_percent": 35.8,
          "barrel_batted_rate": 12.9,
          "hard_hit_percent": 45.8,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 17.5,
          "whiff_percent": 29.2,
          "swing_percent": 44.9
        },
        "components": {
          "expected_quality": 1.1298,
          "regression_edge": -0.3429,
          "xwoba_edge": 1.4286,
          "xba_edge": 0.1714,
          "xslg_edge": 1.5286,
          "barrel_edge": 1.4,
          "hard_hit_edge": 1.1714,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": 0.4167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "571771",
        "player_name": "Enrique Hernández",
        "offense_factor": 0.9921,
        "quality_score": -0.1058,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "571771",
          "espn_rank": null
        },
        "metrics": {
          "pa": 80.0,
          "k_percent": 29.2,
          "bb_percent": 6.3,
          "woba": 0.293,
          "xwoba": 0.279,
          "xba": 0.22,
          "xslg": 0.367,
          "sweet_spot_percent": 27.4,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 40.3,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 10.9,
          "whiff_percent": 25.0,
          "swing_percent": 52.6
        },
        "components": {
          "expected_quality": -0.2084,
          "regression_edge": -0.4,
          "xwoba_edge": -0.5714,
          "xba_edge": -0.4571,
          "xslg_edge": 0.0571,
          "barrel_edge": 0.3333,
          "hard_hit_edge": 0.3857,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.9833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "663656",
        "player_name": "Kyle Tucker",
        "offense_factor": 1.0358,
        "quality_score": 0.4771,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663656",
          "espn_rank": null
        },
        "metrics": {
          "pa": 576.0,
          "k_percent": 16.7,
          "bb_percent": 12.4,
          "woba": 0.318,
          "xwoba": 0.331,
          "xba": 0.256,
          "xslg": 0.393,
          "sweet_spot_percent": 34.2,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 36.3,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 18.1,
          "whiff_percent": 20.8,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": 0.4943,
          "regression_edge": 0.3714,
          "xwoba_edge": 0.9143,
          "xba_edge": 0.5714,
          "xslg_edge": 0.4286,
          "barrel_edge": -0.0444,
          "hard_hit_edge": -0.1857,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": 0.15,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "681624",
        "player_name": "Andy Pages",
        "offense_factor": 1.055,
        "quality_score": 0.7337,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "681624",
          "espn_rank": null
        },
        "metrics": {
          "pa": 544.0,
          "k_percent": 19.7,
          "bb_percent": 8.5,
          "woba": 0.352,
          "xwoba": 0.343,
          "xba": 0.274,
          "xslg": 0.442,
          "sweet_spot_percent": 37.4,
          "barrel_batted_rate": 7.9,
          "hard_hit_percent": 42.3,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 15.7,
          "whiff_percent": 22.1,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": 0.895,
          "regression_edge": -0.2571,
          "xwoba_edge": 1.2571,
          "xba_edge": 1.0857,
          "xslg_edge": 1.1286,
          "barrel_edge": 0.2889,
          "hard_hit_edge": 0.6714,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 0.6833,
          "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 LADTyler GlasnowTrue-0.64220.96000.94541.10310.99040.9846neutral0.26300.2450348.7032.108.5038.40
Home ATLTyler MahleTrue-0.046110.99610.98800.96600.9832neutral0.30600.311022.307.5022.906.8037.10

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away LADTyler GlasnowTrueNone9090.862626000000000.0556
Home ATLTyler MahleTrueNone9389.64213500000000-0.0125
Run FactorValue
away_runs_vs_home_pitcher1.0031
home_runs_vs_away_pitcher0.9705
home_pitcher_starter_only_factor0.9961
away_pitcher_starter_only_factor0.9476
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.6667
home_pitcher_quality_edge-0.3974
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "641816",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 543.0,
      "k_percent": 22.3,
      "bb_percent": 7.5,
      "woba": 0.311,
      "xwoba": 0.306,
      "sweet_spot_percent": 32.0,
      "barrel_batted_rate": 6.8,
      "hard_hit_percent": 37.1,
      "avg_best_speed": 80.0191,
      "avg_hyper_speed": 93.8316,
      "whiff_percent": 22.9,
      "swing_percent": 45.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.0666,
      "command_and_miss": -0.0171,
      "regression_edge": 0.1429,
      "xwoba_edge": 0.1714,
      "barrel_edge": 0.0889,
      "hard_hit_edge": 0.1143,
      "whiff_edge": -0.3286,
      "bb_edge": 0.425,
      "pitch_design_score": -0.0125
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "641816",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 93,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 93,
        "pitch_usage": 0.0,
        "release_speed": 89.64026118417685,
        "release_spin_rate": 2134.9981031675284,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 93,
          "pitch_usage": 0.0,
          "release_speed": 89.64026118417685,
          "release_spin_rate": 2134.9981031675284,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 89.6403,
        "release_spin_rate": 2134.9981,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0125,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.0896,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0461,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9961,
    "strikeout_factor": 0.988,
    "walk_factor": 0.966,
    "homer_factor": 0.9832,
    "woba_minus_xwoba": 0.005,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "641816",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "607192",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 240.0,
      "k_percent": 34.0,
      "bb_percent": 8.7,
      "woba": 0.245,
      "xwoba": 0.263,
      "sweet_spot_percent": 32.3,
      "barrel_batted_rate": 8.5,
      "hard_hit_percent": 38.4,
      "avg_best_speed": 80.9446,
      "avg_hyper_speed": 93.9414,
      "whiff_percent": 32.1,
      "swing_percent": 42.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.7516,
      "command_and_miss": 1.135,
      "regression_edge": -0.5143,
      "xwoba_edge": 1.4,
      "barrel_edge": -0.2889,
      "hard_hit_edge": -0.0714,
      "whiff_edge": 0.9857,
      "bb_edge": 0.125,
      "pitch_design_score": 0.0556
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "607192",
      "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": 90.85773330934553,
        "release_spin_rate": 2625.986737733158,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 90.85773330934553,
          "release_spin_rate": 2625.986737733158,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.8577,
        "release_spin_rate": 2625.9867,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0556,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.3974,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.6422,
    "sample_weight": 0.96,
    "run_prevention_factor": 0.9454,
    "strikeout_factor": 1.1031,
    "walk_factor": 0.9904,
    "homer_factor": 0.9846,
    "woba_minus_xwoba": -0.018,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "607192",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0031,
    "home_runs_vs_away_pitcher": 0.9705,
    "home_pitcher_starter_only_factor": 0.9961,
    "away_pitcher_starter_only_factor": 0.9476,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.6667,
    "home_pitcher_quality_edge": -0.3974
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 2.0
  },
  "score_after": {
    "away_runs": 4.0123,
    "home_runs": 1.9411,
    "home_win_probability": 0.3168
  },
  "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 LAD8-20.80052.20283Waveragestrong
Home ATL5-50.50043.9011Laverageaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away LAD100-620.6172011.241True
Home ATL94-680.5801160.716True
Signal---0.525-0.610applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-27LAD @ ATL0 - 1ATL1close
2026-08-26LAD @ ATL5 - 6ATL1close
2026-08-25LAD @ ATL3 - 4ATL1close
2026-05-10ATL @ LAD7 - 2ATL5blowout
2026-05-09ATL @ LAD7 - 2ATL5blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target LAD--6----
Game target ATL--4----
Player finalized LAD36962638
Player finalized ATL347424112
Player model fractional LAD34.018.364.661.614.293.287.67
Player model fractional ATL33.976.573.951.203.773.059.60
Simulation box LAD36962638
Simulation box ATL347424112

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 LADStarterTyler Glasnow5.1025404.041.10True
Away LADMiddle RelieverAlex Vesia101001.710.69True
Away LADMiddle RelieverRoki Sasaki1.1012104.031.35True
Away LADMiddle Reliever (High Leverage)Brock Stewart1.1014213.451.09True
Home ATLStarterTyler Mahle534622.811.07True
Home ATLLong RelieverGrant Holmes222113.801.45True
Home ATLMiddle RelieverDylan Dodd212203.831.04True
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
awayLADpitcherStarterTyler Glasnowworse51423predicted_BB-4.0000deboostbetter
awayLADpitcherMiddle Reliever (High Leverage)Brock Stewartworse55023predicted_SO4.0000boostbetter
homeATLpitcherMiddle RelieverDylan Doddbetter52350predicted_ER-4.0000deboostbetter
homeATLpitcherStarterTyler Mahleworse43113predicted_SO3.0000boostbetter
homeATLpitcherLong RelieverGrant Holmesworse33003predicted_ER2.0000boostworse
awayLADbatter1BFreddie Freemanworse116556predicted_H1.9100boostbetter
homeATLbatter3BAustin Rileyworse114738predicted_SO1.7620boostworse
awayLADbatter3BMax Muncyworse116556predicted_RBI1.7100boostbetter
awayLADbatterCWill Smithbetter85362predicted_RBI1.5300boostbetter
homeATLbatterCFMichael Harris IIworse12210111predicted_AB-1.5200deboostworse
awayLADbatterLFTeoscar Hernándezbetter107382predicted_R1.4680boostbetter
awayLADbatter2BEnrique Hernándezboosted106455predicted_AB1.4590boostbetter
homeATLbatterLFMike Yastrzemskibetter119283predicted_AB1.3210boostbetter
awayLADbatterSSMookie Bettsworse116556predicted_H-1.2300deboostworse
awayLADbatterCFAndy Pagesworse112938predicted_H-1.1200deboostworse
homeATLbatter2BOzzie Albiesworse112938predicted_AB-1.1000deboostworse
homeATLbatterRFRonald Acuña Jr.worse126657predicted_SO1.0540boostworse
awayLADpitcherMiddle RelieverRoki Sasakibetter31221predicted_HR-1.0000deboostbetter
homeATLbatter1BMatt Olsonworse113847predicted_H-0.9400deboostworse
homeATLbatterSSMauricio Dubónbetter96354predicted_HR0.9240boostbetter
awayLADbatterDHShohei Ohtaniworse112938predicted_AB-0.8540deboostworse
homeATLbatterDHDrake Baldwinworse124839predicted_2B0.8530boostbetter
awayLADbatterRFKyle Tuckerworse92736predicted_SO-0.6990deboostbetter
homeATLbatterCSean Murphyworse103746predicted_R0.6390boostbetter

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

Away Team: LAD

Away Pitcher Deep Analysis

FieldValue
PitcherTyler Glasnow
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6422
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0556
Avg Velo90.8577
Avg Spin2625.9867
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER2
Pre H4
Pre BB0
Pre SO5
Season ERA3.5270
Season WHIP0.9459
Role Avg IP5.6920
Recent Avg IP5.8670
Last Start IP6.1000
Team Form Snapshot
{
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "opponent": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.2008,
    "offense_edge": 0.1022,
    "opponent_offense_edge": 0.021,
    "defense_strength": 0.2112,
    "opponent_defense_weakness": -0.1609,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0135,
    "run_prevention": 0.9722,
    "strikeout": 1.0043
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "607192",
    "profile": {
      "available": true,
      "pitcher_id": "607192",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 240.0,
        "k_percent": 34.0,
        "bb_percent": 8.7,
        "woba": 0.245,
        "xwoba": 0.263,
        "sweet_spot_percent": 32.3,
        "barrel_batted_rate": 8.5,
        "hard_hit_percent": 38.4,
        "avg_best_speed": 80.9446,
        "avg_hyper_speed": 93.9414,
        "whiff_percent": 32.1,
        "swing_percent": 42.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.7516,
        "command_and_miss": 1.135,
        "regression_edge": -0.5143,
        "xwoba_edge": 1.4,
        "barrel_edge": -0.2889,
        "hard_hit_edge": -0.0714,
        "whiff_edge": 0.9857,
        "bb_edge": 0.125,
        "pitch_design_score": 0.0556
      },
      "quality_score": 0.6422,
      "sample_weight": 0.96,
      "run_prevention_factor": 0.9454,
      "strikeout_factor": 1.1031,
      "walk_factor": 0.9904,
      "homer_factor": 0.9846,
      "woba_minus_xwoba": -0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "607192",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9476,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9476,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.9908,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9852,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.099,
        "adjusted": 9
      }
    }
  },
  "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": 56.0,
    "ER": 21,
    "H": 32,
    "BB": 21,
    "SO": 76,
    "HR": 5,
    "ERA": 3.375,
    "WHIP": 0.9464285714285714,
    "K9": 12.214285714285714,
    "HR9": 0.8035714285714286,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-24T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "607192",
  "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": 90.85773330934553,
    "release_spin_rate": 2625.986737733158,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.85773330934553,
      "release_spin_rate": 2625.986737733158,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8577,
    "release_spin_rate": 2625.9867,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0556,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3974,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7222,
    "prior_weight": 0.2778
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "607192",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 13,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 29.1,
        "ER": 14.0,
        "R": 14.0,
        "H": 19.0,
        "BB": 12.0,
        "SO": 42.0,
        "HR": 2.0,
        "BF": 119.0,
        "Pitches": 461.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.8,
        "R": 2.8,
        "H": 3.8,
        "BB": 2.4,
        "SO": 8.4,
        "HR": 0.4,
        "BF": 23.8,
        "Pitches": 92.2
      },
      "rates": {
        "ERA": 4.2955,
        "WHIP": 1.0568,
        "ER_per_IP": 0.47727,
        "H_per_IP": 0.64773,
        "BB_per_IP": 0.40909,
        "SO_per_IP": 1.43182,
        "HR_per_IP": 0.06818
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 56.0,
        "ER": 21.0,
        "R": 21.0,
        "H": 32.0,
        "BB": 21.0,
        "SO": 76.0,
        "HR": 5.0,
        "BF": 217.0,
        "Pitches": 858.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.1,
        "R": 2.1,
        "H": 3.2,
        "BB": 2.1,
        "SO": 7.6,
        "HR": 0.5,
        "BF": 21.7,
        "Pitches": 85.8
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 0.9464,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.57143,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.35714,
        "HR_per_IP": 0.08929
      }
    },
    "season": {
      "games": 13,
      "totals": {
        "IP": 74.0,
        "ER": 29.0,
        "R": 29.0,
        "H": 45.0,
        "BB": 25.0,
        "SO": 98.0,
        "HR": 7.0,
        "BF": 288.0,
        "Pitches": 1149.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.2308,
        "R": 2.2308,
        "H": 3.4615,
        "BB": 1.9231,
        "SO": 7.5385,
        "HR": 0.5385,
        "BF": 22.1538,
        "Pitches": 88.3846
      },
      "rates": {
        "ERA": 3.527,
        "WHIP": 0.9459,
        "ER_per_IP": 0.39189,
        "H_per_IP": 0.60811,
        "BB_per_IP": 0.33784,
        "SO_per_IP": 1.32432,
        "HR_per_IP": 0.09459
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 2.636,
    "predicted_H": 4.204,
    "predicted_BB": 2.242,
    "predicted_SO": 7.388,
    "predicted_HR": 0.584,
    "predicted_ERA": 4.0432,
    "predicted_WHIP": 1.0987
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4674,
  "form_weight": 0.5326,
  "form_reliability": 0.7222,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7222,
    "prior_weight": 0.2778
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.636,
      "final": 2.8061,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.204,
      "final": 4.1087,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 4.0,
      "form": 2.242,
      "final": 3.0636,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 7.388,
      "final": 6.7393,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.584,
      "final": 0.3111,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0432,
      "final": 4.0432,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0987,
      "final": 1.0987,
      "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
PitcherAlex Vesia
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6990
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0789
Avg Velo88.4549
Avg Spin2384.6779
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.5932
Season WHIP1.0508
Role Avg IP0.8080
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "opponent": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.2008,
    "offense_edge": 0.1022,
    "opponent_offense_edge": 0.021,
    "defense_strength": 0.2112,
    "opponent_defense_weakness": -0.1609,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0135,
    "run_prevention": 0.9722,
    "strikeout": 1.0043
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681911",
    "profile": {
      "available": true,
      "pitcher_id": "681911",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 221.0,
        "k_percent": 31.2,
        "bb_percent": 13.5,
        "woba": 0.233,
        "xwoba": 0.254,
        "sweet_spot_percent": 29.0,
        "barrel_batted_rate": 6.1,
        "hard_hit_percent": 33.6,
        "avg_best_speed": 77.4874,
        "avg_hyper_speed": 92.7576,
        "whiff_percent": 33.6,
        "swing_percent": 48.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": 1.1636,
        "command_and_miss": 0.79,
        "regression_edge": -0.6,
        "xwoba_edge": 1.6571,
        "barrel_edge": 0.2444,
        "hard_hit_edge": 0.6143,
        "whiff_edge": 1.2,
        "bb_edge": -1.075,
        "pitch_design_score": -0.0789
      },
      "quality_score": 0.699,
      "sample_weight": 0.884,
      "run_prevention_factor": 0.9406,
      "strikeout_factor": 1.0884,
      "walk_factor": 1.076,
      "homer_factor": 0.917,
      "woba_minus_xwoba": -0.021,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "681911",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9475,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9475,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0672,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9266,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0781,
        "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": 0,
    "H": 2,
    "BB": 1,
    "SO": 13,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.3333333333333333,
    "K9": 13.0,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681911",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 17,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 17,
    "pitch_usage": 0.0,
    "release_speed": 88.45489013894718,
    "release_spin_rate": 2384.6778665846987,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 17,
      "pitch_usage": 0.0,
      "release_speed": 88.45489013894718,
      "release_spin_rate": 2384.6778665846987,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4549,
    "release_spin_rate": 2384.6779,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0789,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5637,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.183,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.709,
    "prior_weight": 0.291
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681911",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 73,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 1.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 78.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.2,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 1.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 30.0,
        "Pitches": 135.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.1,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 3.0,
        "Pitches": 13.5
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.22222,
        "BB_per_IP": 0.11111,
        "SO_per_IP": 1.44444,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 73,
      "totals": {
        "IP": 59.0,
        "ER": 17.0,
        "R": 18.0,
        "H": 30.0,
        "BB": 32.0,
        "SO": 75.0,
        "HR": 4.0,
        "BF": 240.0,
        "Pitches": 1026.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2329,
        "R": 0.2466,
        "H": 0.411,
        "BB": 0.4384,
        "SO": 1.0274,
        "HR": 0.0548,
        "BF": 3.2877,
        "Pitches": 14.0548
      },
      "rates": {
        "ERA": 2.5932,
        "WHIP": 1.0508,
        "ER_per_IP": 0.28814,
        "H_per_IP": 0.50847,
        "BB_per_IP": 0.54237,
        "SO_per_IP": 1.27119,
        "HR_per_IP": 0.0678
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.181,
    "predicted_H": 0.394,
    "predicted_BB": 0.266,
    "predicted_SO": 1.259,
    "predicted_HR": 0.05,
    "predicted_ERA": 1.7135,
    "predicted_WHIP": 0.6929
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4729,
  "form_weight": 0.5271,
  "form_reliability": 0.709,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.183,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.709,
    "prior_weight": 0.291
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.181,
      "final": 0.0954,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.394,
      "final": 0.2077,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.266,
      "final": 0.1402,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.259,
      "final": 1.1365,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.05,
      "final": 0.0264,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.7135,
      "final": 1.7135,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.6929,
      "final": 0.6929,
      "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
PitcherRoki Sasaki
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0604
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1341
Avg Velo92.2587
Avg Spin1707.2249
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA4.4155
Season WHIP1.3110
Role Avg IP1.2500
Recent Avg IP1.2500
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "opponent": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.2008,
    "offense_edge": 0.1022,
    "opponent_offense_edge": 0.021,
    "defense_strength": 0.2112,
    "opponent_defense_weakness": -0.1609,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0135,
    "run_prevention": 0.9722,
    "strikeout": 1.0043
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "808963",
    "profile": {
      "available": true,
      "pitcher_id": "808963",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 509.0,
        "k_percent": 23.6,
        "bb_percent": 9.2,
        "woba": 0.339,
        "xwoba": 0.318,
        "sweet_spot_percent": 35.3,
        "barrel_batted_rate": 9.8,
        "hard_hit_percent": 42.8,
        "avg_best_speed": 78.9079,
        "avg_hyper_speed": 94.4308,
        "whiff_percent": 29.7,
        "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.3834,
        "command_and_miss": 0.3214,
        "regression_edge": 0.6,
        "xwoba_edge": -0.1714,
        "barrel_edge": -0.5778,
        "hard_hit_edge": -0.7,
        "whiff_edge": 0.6429,
        "bb_edge": 0.0,
        "pitch_design_score": 0.1341
      },
      "quality_score": -0.0604,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0051,
      "strikeout_factor": 1.0343,
      "walk_factor": 1.0,
      "homer_factor": 1.0794,
      "woba_minus_xwoba": 0.021,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "808963",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0051,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0051,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0794,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0343,
        "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": 37.2,
    "ER": 13,
    "H": 31,
    "BB": 16,
    "SO": 39,
    "HR": 3,
    "ERA": 3.1061946902654864,
    "WHIP": 1.247787610619469,
    "K9": 9.31858407079646,
    "HR9": 0.7168141592920353,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "808963",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 82,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 82,
    "pitch_usage": 0.0,
    "release_speed": 92.2587097760933,
    "release_spin_rate": 1707.2248743962587,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 82,
      "pitch_usage": 0.0,
      "release_speed": 92.2587097760933,
      "release_spin_rate": 1707.2248743962587,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.2587,
    "release_spin_rate": 1707.2249,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1341,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.9578,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "808963",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 4.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 37.0,
        "Pitches": 150.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.6,
        "BB": 0.8,
        "SO": 2.0,
        "HR": 0.2,
        "BF": 7.4,
        "Pitches": 30.0
      },
      "rates": {
        "ERA": 4.32,
        "WHIP": 1.44,
        "ER_per_IP": 0.48,
        "H_per_IP": 0.96,
        "BB_per_IP": 0.48,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.12
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 37.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 31.0,
        "BB": 16.0,
        "SO": 39.0,
        "HR": 3.0,
        "BF": 156.0,
        "Pitches": 620.0
      },
      "per_game": {
        "IP": 3.2,
        "ER": 1.3,
        "R": 1.3,
        "H": 3.1,
        "BB": 1.6,
        "SO": 3.9,
        "HR": 0.3,
        "BF": 15.6,
        "Pitches": 62.0
      },
      "rates": {
        "ERA": 3.1062,
        "WHIP": 1.2478,
        "ER_per_IP": 0.34513,
        "H_per_IP": 0.82301,
        "BB_per_IP": 0.42478,
        "SO_per_IP": 1.0354,
        "HR_per_IP": 0.07965
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 124.1,
        "ER": 61.0,
        "R": 63.0,
        "H": 113.0,
        "BB": 50.0,
        "SO": 124.0,
        "HR": 22.0,
        "BF": 530.0,
        "Pitches": 2136.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.2593,
        "R": 2.3333,
        "H": 4.1852,
        "BB": 1.8519,
        "SO": 4.5926,
        "HR": 0.8148,
        "BF": 19.6296,
        "Pitches": 79.1111
      },
      "rates": {
        "ERA": 4.4155,
        "WHIP": 1.311,
        "ER_per_IP": 0.49062,
        "H_per_IP": 0.90885,
        "BB_per_IP": 0.40214,
        "SO_per_IP": 0.99732,
        "HR_per_IP": 0.17694
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 2.2,
    "predicted_ER": 1.213,
    "predicted_H": 2.481,
    "predicted_BB": 1.179,
    "predicted_SO": 2.917,
    "predicted_HR": 0.331,
    "predicted_ERA": 4.0252,
    "predicted_WHIP": 1.3499
  }
}
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.1,
      "form": 2.2,
      "final": 2.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.213,
      "final": 1.1244,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 2.481,
      "final": 1.8649,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.179,
      "final": 0.6885,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 2.917,
      "final": 2.1195,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.331,
      "final": 0.6093,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0252,
      "final": 4.0252,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3499,
      "final": 1.3499,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBrock Stewart
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4068
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER1
Pre H2
Pre BB1
Pre SO4
Season ERA2.2500
Season WHIP0.9286
Role Avg IP0.9640
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "opponent": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.2008,
    "offense_edge": 0.1022,
    "opponent_offense_edge": 0.021,
    "defense_strength": 0.2112,
    "opponent_defense_weakness": -0.1609,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0135,
    "run_prevention": 0.9722,
    "strikeout": 1.0043
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592779",
    "profile": {
      "available": true,
      "pitcher_id": "592779",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 86.0,
        "k_percent": 24.3,
        "bb_percent": 9.7,
        "woba": 0.258,
        "xwoba": 0.248,
        "sweet_spot_percent": 23.5,
        "barrel_batted_rate": 4.4,
        "hard_hit_percent": 27.9,
        "avg_best_speed": 65.8762,
        "avg_hyper_speed": 92.3881,
        "whiff_percent": 28.2,
        "swing_percent": 49.2
      },
      "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.4394,
        "command_and_miss": 0.2664,
        "regression_edge": 0.2857,
        "xwoba_edge": 1.8286,
        "barrel_edge": 0.6222,
        "hard_hit_edge": 1.4286,
        "whiff_edge": 0.4286,
        "bb_edge": -0.125,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.4068,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9654,
      "strikeout_factor": 1.0134,
      "walk_factor": 1.0045,
      "homer_factor": 0.9272,
      "woba_minus_xwoba": 0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "592779",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9844,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9844,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.002,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9672,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.006,
        "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": 8.0,
    "ER": 1,
    "H": 4,
    "BB": 2,
    "SO": 7,
    "HR": 0,
    "ERA": 1.125,
    "WHIP": 0.75,
    "K9": 7.875,
    "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-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "592779",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.782,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5363,
    "prior_weight": 0.4637
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592779",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 29,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 57.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 11.4
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 0.6923,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.46154,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 3.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 34.0,
        "Pitches": 125.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.7,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 12.5
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.0,
        "ER_per_IP": 0.33333,
        "H_per_IP": 0.77778,
        "BB_per_IP": 0.22222,
        "SO_per_IP": 0.88889,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 29,
      "totals": {
        "IP": 28.0,
        "ER": 7.0,
        "R": 9.0,
        "H": 16.0,
        "BB": 10.0,
        "SO": 26.0,
        "HR": 2.0,
        "BF": 106.0,
        "Pitches": 393.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2414,
        "R": 0.3103,
        "H": 0.5517,
        "BB": 0.3448,
        "SO": 0.8966,
        "HR": 0.069,
        "BF": 3.6552,
        "Pitches": 13.5517
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 0.9286,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.57143,
        "BB_per_IP": 0.35714,
        "SO_per_IP": 0.92857,
        "HR_per_IP": 0.07143
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.324,
    "predicted_H": 0.656,
    "predicted_BB": 0.264,
    "predicted_SO": 0.827,
    "predicted_HR": 0.065,
    "predicted_ERA": 3.4501,
    "predicted_WHIP": 1.0876
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5459,
  "form_weight": 0.4541,
  "form_reliability": 0.5363,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.782,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5363,
    "prior_weight": 0.4637
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.324,
      "final": 0.1471,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.656,
      "final": 0.2979,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.264,
      "final": 0.1199,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.827,
      "final": 0.3755,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.065,
      "final": 0.0295,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4501,
      "final": 3.4501,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0876,
      "final": 1.0876,
      "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."
}
Mookie Betts (605141) · BATTER · SS · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 493
All-history rows before 20261007: 493
System season_avg: 0.2600
Data season_avg (2026 season-to-date): 0.2602
Diff (system - data): -0.0002
System opponent_avg: 0.1520

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2020.0000.000Hitting_2B0.1910.000-0.1910.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.9604.0004.000Hitting_AB4.0615.000-0.061-1.000
predicted_AVG0.2480.0000.000Hitting_AVG0.2600.400-0.260-0.400
predicted_BB0.3791.0001.000Hitting_BB0.3590.0000.6411.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H1.2300.0000.000Hitting_H1.0572.000-1.057-2.000
predicted_HR0.1800.0000.000Hitting_HR0.1970.000-0.1970.000
predicted_OBP0.3370.2000.200Hitting_OBP0.3230.400-0.123-0.200
predicted_R0.5651.0001.000Hitting_R0.6210.0000.3791.000
predicted_RBI0.4600.0000.000Hitting_RBI0.6060.000-0.6060.000
predicted_SLG0.4010.0000.000Hitting_SLG0.4530.400-0.453-0.400
predicted_SO0.4681.0001.000Hitting_SO0.4891.0000.5110.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.3790 -> 1.0000 (boost 0.6210, better)
Biggest Deboostpredicted_H: 1.2300 -> 0.0000 (deboost -1.2300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52314predicted_SO: 0.4680 -> 0.5371 (boost 0.0691, worse)predicted_AB: 4.9600 -> 4.4343 (deboost -0.5257, 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.3359 -> 0.3174 (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_scaling70716-predicted_SO: 0.5317 -> 0.0000 (deboost -0.5317, better)AB rounded to 4 (raw=4.96), rates preserved: AVG=0.226 HR/AB=0.036
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints11010predicted_R: 0.5228 -> 1.0000 (boost 0.4772, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_SO: 0.0000 -> 0.5243 (boost 0.5243, 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_allocation82635predicted_RBI: 0.4993 -> 1.0000 (boost 0.5007, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, 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 club run ratio within 2% of 1.0; 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_realization53223predicted_BB: 0.0000 -> 1.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_final33030predicted_OBP: 0.3120 -> 0.3510 (boost 0.0390, 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": "605141",
  "player_name": "Mookie Betts",
  "position": "SS",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.202,
        "predicted_3B": 0.0,
        "predicted_AB": 4.96,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.379,
        "predicted_H": 1.23,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.337,
        "predicted_R": 0.565,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.401,
        "predicted_SO": 0.468
      },
      "changed_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.1833,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.4343,
        "predicted_AVG": 0.2477,
        "predicted_BB": 0.4246,
        "predicted_H": 1.0988,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1752,
        "predicted_OBP": 0.3359,
        "predicted_R": 0.5085,
        "predicted_RBI": 0.4383,
        "predicted_SLG": 0.4117,
        "predicted_SO": 0.5371
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.96,
          "after": 4.4343,
          "delta": -0.5257,
          "percent_delta": -0.106,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.23,
          "after": 1.0988,
          "delta": -0.1312,
          "percent_delta": -0.1067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.565,
          "after": 0.5085,
          "delta": -0.0565,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.4117,
          "delta": 0.0107,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.468,
          "after": 0.5371,
          "delta": 0.0691,
          "percent_delta": 0.1476,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.468,
          "after": 0.5371,
          "delta": 0.0691,
          "percent_delta": 0.1476,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.96,
          "after": 4.4343,
          "delta": -0.5257,
          "percent_delta": -0.106,
          "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.1833,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.4343,
        "predicted_AVG": 0.2514,
        "predicted_BB": 0.4289,
        "predicted_H": 1.1146,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1763,
        "predicted_OBP": 0.3174,
        "predicted_R": 0.5228,
        "predicted_RBI": 0.4506,
        "predicted_SLG": 0.4121,
        "predicted_SO": 0.5317
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3359,
          "after": 0.3174,
          "delta": -0.0185,
          "percent_delta": -0.0551,
          "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.3359,
          "after": 0.3174,
          "delta": -0.0185,
          "percent_delta": -0.0551,
          "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.96), rates preserved: AVG=0.226 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1833,
          "after": 0.0,
          "delta": -0.1833,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.4343,
          "after": 4.0,
          "delta": -0.4343,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4289,
          "after": 0.0,
          "delta": -0.4289,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1146,
          "after": 1.0,
          "delta": -0.1146,
          "percent_delta": -0.1028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1763,
          "after": 0.0,
          "delta": -0.1763,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4506,
          "after": 0.0,
          "delta": -0.4506,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5317,
          "after": 0.0,
          "delta": -0.5317,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5317,
          "after": 0.0,
          "delta": -0.5317,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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
      },
      "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": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5228,
          "after": 1.0,
          "delta": 0.4772,
          "percent_delta": 0.9128,
          "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.5228,
          "after": 1.0,
          "delta": 0.4772,
          "percent_delta": 0.9128,
          "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.1826,
        "predicted_3B": 0.0074,
        "predicted_BB": 0.3077,
        "predicted_H": 0.9629,
        "predicted_HR": 0.1657,
        "predicted_RBI": 0.4993,
        "predicted_SO": 0.5243
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1826,
          "delta": 0.1826,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3077,
          "delta": 0.3077,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1657,
          "delta": 0.1657,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4993,
          "delta": 0.4993,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5243,
          "delta": 0.5243,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5243,
          "delta": 0.5243,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.251,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.433,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1826,
          "after": 0.0,
          "delta": -0.1826,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3077,
          "after": 0.0,
          "delta": -0.3077,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1657,
          "after": 0.0,
          "delta": -0.1657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3174,
          "after": 0.312,
          "delta": -0.0054,
          "percent_delta": -0.017,
          "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.4993,
          "after": 1.0,
          "delta": 0.5007,
          "percent_delta": 1.0028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4121,
          "after": 0.433,
          "delta": 0.0209,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5243,
          "after": 0.0,
          "delta": -0.5243,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4993,
          "after": 1.0,
          "delta": 0.5007,
          "percent_delta": 1.0028,
          "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": 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.251,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.433,
        "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.433,
        "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": 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": 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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 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.276,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.454,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.276,
          "delta": 0.025,
          "percent_delta": 0.0996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.351,
          "delta": 0.039,
          "percent_delta": 0.125,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.454,
          "delta": 0.021,
          "percent_delta": 0.0485,
          "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.312,
          "after": 0.351,
          "delta": 0.039,
          "percent_delta": 0.125,
          "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.202,
        "after": 0.0,
        "delta": -0.202,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.96,
        "after": 4.0,
        "delta": -0.96,
        "percent_delta": -0.1935,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.248,
        "after": 0.276,
        "delta": 0.028,
        "percent_delta": 0.1129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.379,
        "after": 1.0,
        "delta": 0.621,
        "percent_delta": 1.6385,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 0.0,
        "delta": -1.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.337,
        "after": 0.351,
        "delta": 0.014,
        "percent_delta": 0.0415,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.401,
        "after": 0.454,
        "delta": 0.053,
        "percent_delta": 0.1322,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.468,
        "after": 1.0,
        "delta": 0.532,
        "percent_delta": 1.1368,
        "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.379,
        "after": 1.0,
        "delta": 0.621,
        "percent_delta": 1.6385,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 0.0,
        "delta": -1.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.202-
predicted_3B0.000-
predicted_AB4.960-
predicted_AVG0.248-
predicted_BB0.379-
predicted_H1.230-
predicted_HR0.180-
predicted_OBP0.337-
predicted_R0.565-
predicted_RBI0.460-
predicted_SLG0.401-
predicted_SO0.468-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.183-0.019
predicted_3B0.0000.000
predicted_AB4.434-0.526
predicted_AVG0.248-0.000
predicted_BB0.4250.046
predicted_H1.099-0.131
predicted_HBP0.011-
predicted_HR0.175-0.005
predicted_OBP0.336-0.001
predicted_R0.508-0.056
predicted_RBI0.438-0.022
predicted_SLG0.4120.011
predicted_SO0.5370.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.1830.000
predicted_3B0.0000.000
predicted_AB4.4340.000
predicted_AVG0.2510.004
predicted_BB0.4290.004
predicted_H1.1150.016
predicted_HBP0.0110.000
predicted_HR0.1760.001
predicted_OBP0.317-0.018
predicted_R0.5230.014
predicted_RBI0.4510.012
predicted_SLG0.4120.000
predicted_SO0.532-0.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1830.183
3B0.0070.007
BB0.3080.308
H0.963-0.037
HR0.1660.166
RBI0.4990.499
SO0.5240.524
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.183
3B0.000-0.007
AB4.0000.000
AVG0.251-
BB0.000-0.308
H1.0000.037
HR0.000-0.166
OBP0.312-
R0.000-1.000
RBI1.0000.501
SLG0.433-
SO0.000-0.524
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.183
predicted_3B0.000-0.000
predicted_AB4.000-0.434
predicted_AVG0.251-0.000
predicted_BB0.000-0.429
predicted_H1.000-0.115
predicted_HR0.000-0.176
predicted_OBP0.312-0.005
predicted_R0.000-0.523
predicted_RBI1.0000.549
predicted_SLG0.4330.021
predicted_SO0.000-0.532
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2510.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3120.000
R0.0000.000
RBI1.0000.000
SLG0.4330.000
SO0.0000.000
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.0001.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.000
RBI0.000-1.000
SF0.0000.000
SO1.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
BB1.0000.000
H0.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: 124
Reference playing time: 4.960
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0004.0000.0000.0001.0001.0001.0003.0005.0000.23530.35000.41180.23530.05880.05880.17650.2941
last_100.2010-36.0008.0002.0000.0001.0002.0003.0007.0006.0000.22220.34880.36110.22220.02780.05560.19440.1667
season0.60124-485.000126.00025.0000.00023.00069.00070.00047.00058.0000.25980.32710.45360.25980.04740.14230.09690.1196
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1590
predicted_3B0.0010
predicted_AB3.7500
predicted_AVG0.2474
predicted_BB0.4840
predicted_H0.9280
predicted_HBP0.0110
predicted_HR0.1690
predicted_OBP0.3344
predicted_R0.4350
predicted_RBI0.4100
predicted_SLG0.4257
predicted_SO0.6270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20200.15900.1833model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.96003.75004.4343model_form_blend
predicted_AVG0.24800.24740.2477model_form_blend
predicted_BB0.37900.48400.4246model_form_blend
predicted_H1.23000.92801.0988model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.18000.16900.1752model_form_blend
predicted_OBP0.33700.33440.3359model_form_blend
predicted_R0.56500.43500.5085model_form_blend
predicted_RBI0.46000.41000.4383model_form_blend
predicted_SLG0.40100.42570.4117model_form_blend
predicted_SO0.46800.62700.5371model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date493
Season rows before report date493
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
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_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261006_LAD@ATL
game_typefull
mlbID605141
playerID605141
playerNameMookie Betts
posSS
startedTrue
startingPositionSS
teamLAD
teamID14
game_date2026-10-06
sl_k_percent11.0
sl_bb_percent8.9
sl_woba0.338
sl_xwoba0.339
sl_xba0.278
sl_xslg0.435
sl_sweet_spot_percent40.4
sl_barrel_batted_rate7.8
sl_hard_hit_percent38.0
sl_exit_velocity_avg90.2
sl_launch_angle_avg17.9
sl_whiff_percent12.5
sl_swing_percent41.3
Freddie Freeman (518692) · BATTER · 1B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 627
All-history rows before 20261007: 627
System season_avg: 0.2900
Data season_avg (2026 season-to-date): 0.2925
Diff (system - data): -0.0025
System opponent_avg: 0.4210

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2060.0000.000Hitting_2B0.2280.000-0.2280.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB4.2305.0005.000Hitting_AB3.8054.0001.1951.000
predicted_AVG0.2590.6000.600Hitting_AVG0.2930.2500.3070.350
predicted_BB0.4390.0000.000Hitting_BB0.4931.000-0.493-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0903.0003.000Hitting_H1.1131.0001.8872.000
predicted_HR0.2600.0000.000Hitting_HR0.1131.000-0.113-1.000
predicted_OBP0.3400.6000.600Hitting_OBP0.3750.4000.2250.200
predicted_R0.4971.0001.000Hitting_R0.5411.0000.4590.000
predicted_RBI0.5200.0000.000Hitting_RBI0.4911.000-0.491-1.000
predicted_SLG0.4670.6000.600Hitting_SLG0.4451.0000.155-0.400
predicted_SO0.7482.0002.000Hitting_SO0.7531.0001.2471.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_H: 1.0900 -> 3.0000 (boost 1.9100, better)
Biggest Deboostpredicted_RBI: 0.5200 -> 0.0000 (deboost -0.5200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.2300 -> 4.0371 (deboost -0.1929, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_SLG: 0.4610 -> 0.4816 (boost 0.0206, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.7673 -> 1.0000 (boost 0.2327, worse)predicted_RBI: 0.5041 -> 0.0000 (deboost -0.5041, worse)AB rounded to 4 (raw=4.23), rates preserved: AVG=0.255 HR/AB=0.054
6bvp_blend00000--Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.421)
7consistency_constraints11010predicted_R: 0.5042 -> 1.0000 (boost 0.4958, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65160predicted_RBI: 0.0000 -> 0.5212 (boost 0.5212, better)predicted_SO: 1.0000 -> 0.7293 (deboost -0.2707, 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_allocation106455predicted_2B: 0.1859 -> 1.0000 (boost 0.8141, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, 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 club run ratio within 2% of 1.0; 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_realization74334predicted_H: 1.0000 -> 3.0000 (boost 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final20202-predicted_AVG: 0.2850 -> 0.2710 (deboost -0.0140, 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": "518692",
  "player_name": "Freddie Freeman",
  "position": "1B",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.206,
        "predicted_3B": 0.006,
        "predicted_AB": 4.23,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.439,
        "predicted_H": 1.09,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.34,
        "predicted_R": 0.497,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.467,
        "predicted_SO": 0.748
      },
      "changed_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.171,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0371,
        "predicted_AVG": 0.2628,
        "predicted_BB": 0.4136,
        "predicted_H": 1.0568,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.2289,
        "predicted_OBP": 0.3378,
        "predicted_R": 0.4904,
        "predicted_RBI": 0.4903,
        "predicted_SLG": 0.461,
        "predicted_SO": 0.7751
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.23,
          "after": 4.0371,
          "delta": -0.1929,
          "percent_delta": -0.0456,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.467,
          "after": 0.461,
          "delta": -0.006,
          "percent_delta": -0.0128,
          "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_AB",
          "before": 4.23,
          "after": 4.0371,
          "delta": -0.1929,
          "percent_delta": -0.0456,
          "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.171,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0371,
        "predicted_AVG": 0.2655,
        "predicted_BB": 0.4178,
        "predicted_H": 1.072,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.2303,
        "predicted_OBP": 0.3344,
        "predicted_R": 0.5042,
        "predicted_RBI": 0.5041,
        "predicted_SLG": 0.4816,
        "predicted_SO": 0.7673
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.461,
          "after": 0.4816,
          "delta": 0.0206,
          "percent_delta": 0.0447,
          "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_SLG",
          "before": 0.461,
          "after": 0.4816,
          "delta": 0.0206,
          "percent_delta": 0.0447,
          "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.23), rates preserved: AVG=0.255 HR/AB=0.054",
      "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.171,
          "after": 0.0,
          "delta": -0.171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4178,
          "after": 0.0,
          "delta": -0.4178,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.072,
          "after": 1.0,
          "delta": -0.072,
          "percent_delta": -0.0672,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2303,
          "after": 0.0,
          "delta": -0.2303,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5041,
          "after": 0.0,
          "delta": -0.5041,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7673,
          "after": 1.0,
          "delta": 0.2327,
          "percent_delta": 0.3033,
          "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.7673,
          "after": 1.0,
          "delta": 0.2327,
          "percent_delta": 0.3033,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5041,
          "after": 0.0,
          "delta": -0.5041,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.421)",
      "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.8449,
        "bvp": 0.1551
      }
    },
    {
      "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.5042,
          "after": 1.0,
          "delta": 0.4958,
          "percent_delta": 0.9833,
          "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.5042,
          "after": 1.0,
          "delta": 0.4958,
          "percent_delta": 0.9833,
          "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.1859,
        "predicted_3B": 0.0089,
        "predicted_BB": 0.3832,
        "predicted_H": 1.1146,
        "predicted_HR": 0.1387,
        "predicted_RBI": 0.5212,
        "predicted_SO": 0.7293
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1859,
          "delta": 0.1859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3832,
          "delta": 0.3832,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1146,
          "delta": 0.1146,
          "percent_delta": 0.1146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1387,
          "delta": 0.1387,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5212,
          "delta": 0.5212,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7293,
          "delta": -0.2707,
          "percent_delta": -0.2707,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5212,
          "delta": 0.5212,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7293,
          "delta": -0.2707,
          "percent_delta": -0.2707,
          "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.285,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.354,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.443,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1859,
          "after": 1.0,
          "delta": 0.8141,
          "percent_delta": 4.3792,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2655,
          "after": 0.285,
          "delta": 0.0195,
          "percent_delta": 0.0734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3832,
          "after": 1.0,
          "delta": 0.6168,
          "percent_delta": 1.6096,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1146,
          "after": 1.0,
          "delta": -0.1146,
          "percent_delta": -0.1028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1387,
          "after": 0.0,
          "delta": -0.1387,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3344,
          "after": 0.354,
          "delta": 0.0196,
          "percent_delta": 0.0586,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5212,
          "after": 1.0,
          "delta": 0.4788,
          "percent_delta": 0.9186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4816,
          "after": 0.443,
          "delta": -0.0386,
          "percent_delta": -0.0801,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7293,
          "after": 1.0,
          "delta": 0.2707,
          "percent_delta": 0.3712,
          "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_2B",
          "before": 0.1859,
          "after": 1.0,
          "delta": 0.8141,
          "percent_delta": 4.3792,
          "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": 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.285,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.354,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.443,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.285,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.354,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.443,
        "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": 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": 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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "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": 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": 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": 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": 5.0,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.432,
        "predicted_SO": 2.0,
        "predicted_TB": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.285,
          "after": 0.271,
          "delta": -0.014,
          "percent_delta": -0.0491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.443,
          "after": 0.432,
          "delta": -0.011,
          "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_AVG",
          "before": 0.285,
          "after": 0.271,
          "delta": -0.014,
          "percent_delta": -0.0491,
          "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.206,
        "after": 0.0,
        "delta": -0.206,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.23,
        "after": 5.0,
        "delta": 0.77,
        "percent_delta": 0.182,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.271,
        "delta": 0.012,
        "percent_delta": 0.0463,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 3.0,
        "delta": 1.91,
        "percent_delta": 1.7523,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.34,
        "after": 0.351,
        "delta": 0.011,
        "percent_delta": 0.0324,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.497,
        "after": 1.0,
        "delta": 0.503,
        "percent_delta": 1.0121,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.467,
        "after": 0.432,
        "delta": -0.035,
        "percent_delta": -0.0749,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.748,
        "after": 2.0,
        "delta": 1.252,
        "percent_delta": 1.6738,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 3.0,
        "delta": 1.91,
        "percent_delta": 1.7523,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.206-
predicted_3B0.006-
predicted_AB4.230-
predicted_AVG0.259-
predicted_BB0.439-
predicted_H1.090-
predicted_HR0.260-
predicted_OBP0.340-
predicted_R0.497-
predicted_RBI0.520-
predicted_SLG0.467-
predicted_SO0.748-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.171-0.035
predicted_3B0.005-0.001
predicted_AB4.037-0.193
predicted_AVG0.2630.004
predicted_BB0.414-0.025
predicted_H1.057-0.033
predicted_HBP0.020-
predicted_HR0.229-0.031
predicted_OBP0.338-0.002
predicted_R0.490-0.007
predicted_RBI0.490-0.030
predicted_SLG0.461-0.006
predicted_SO0.7750.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.1710.000
predicted_3B0.0050.000
predicted_AB4.0370.000
predicted_AVG0.2660.003
predicted_BB0.4180.004
predicted_H1.0720.015
predicted_HBP0.0200.000
predicted_HR0.2300.001
predicted_OBP0.334-0.003
predicted_R0.5040.014
predicted_RBI0.5040.014
predicted_SLG0.4820.021
predicted_SO0.767-0.008
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.421)

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.1860.186
3B0.0090.009
BB0.3830.383
H1.1150.115
HR0.1390.139
RBI0.5210.521
SO0.729-0.271
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.814
3B0.000-0.009
AB4.0000.000
AVG0.285-
BB1.0000.617
H1.000-0.115
HR0.000-0.139
OBP0.354-
R0.000-1.000
RBI1.0000.479
SLG0.443-
SO1.0000.271
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.829
predicted_3B0.000-0.005
predicted_AB4.000-0.037
predicted_AVG0.2850.019
predicted_BB1.0000.582
predicted_H1.000-0.072
predicted_HR0.000-0.230
predicted_OBP0.3540.020
predicted_R0.000-0.504
predicted_RBI1.0000.496
predicted_SLG0.443-0.039
predicted_SO1.0000.233
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2850.000
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3540.000
R0.0000.000
RBI1.0000.000
SLG0.4430.000
SO1.0000.000
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
AB5.0001.000
BB0.000-1.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.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
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
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 155
Reference playing time: 4.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-18.0004.0000.0000.0002.0002.0003.0002.0004.0000.22220.30000.55560.22220.11110.11110.11110.2222
last_100.2010-40.00010.0000.0000.0002.0005.0003.0002.00010.0000.25000.28570.40000.25000.05000.12500.05000.2500
season0.60155-586.000170.00032.0001.00018.00070.00077.00068.000116.0000.29010.36540.44030.29010.03070.11950.11600.1979
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1260
predicted_3B0.0040
predicted_AB3.7890
predicted_AVG0.2676
predicted_BB0.3810
predicted_H1.0140
predicted_HBP0.0200
predicted_HR0.1890
predicted_OBP0.3350
predicted_R0.4820
predicted_RBI0.4520
predicted_SLG0.4532
predicted_SO0.8100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20600.12600.1710model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.23003.78904.0371model_form_blend
predicted_AVG0.25900.26760.2628model_form_blend
predicted_BB0.43900.38100.4136model_form_blend
predicted_H1.09001.01401.0568model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.26000.18900.2289model_form_blend
predicted_OBP0.34000.33500.3378model_form_blend
predicted_R0.49700.48200.4904model_form_blend
predicted_RBI0.52000.45200.4903model_form_blend
predicted_SLG0.46700.45320.4610model_form_blend
predicted_SO0.74800.81000.7751model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date627
Season rows before report date627
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
PA5
AB5
H3
2B0
3B0
HR0
R1
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.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_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
gameID20261006_LAD@ATL
game_typefull
mlbID518692
playerID518692
playerNameFreddie Freeman
pos1B
startedTrue
startingPosition1B
teamLAD
teamID14
game_date2026-10-06
sl_k_percent17.7
sl_bb_percent10.0
sl_woba0.348
sl_xwoba0.363
sl_xba0.29
sl_xslg0.463
sl_sweet_spot_percent38.7
sl_barrel_batted_rate8.1
sl_hard_hit_percent41.3
sl_exit_velocity_avg89.5
sl_launch_angle_avg12.2
sl_whiff_percent23.2
sl_swing_percent50.1
Will Smith (669257) · BATTER · C · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 256
All-history rows before 20261007: 256
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2508
Diff (system - data): 0.0002
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.1230.0000.000Hitting_2B0.1560.000-0.1560.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1005.0005.000Hitting_AB3.5984.0001.4021.000
predicted_AVG0.2510.2000.200Hitting_AVG0.2510.250-0.051-0.050
predicted_BB0.4380.0000.000Hitting_BB0.4920.000-0.4920.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0301.0001.000Hitting_H0.9021.0000.0980.000
predicted_HR0.1901.0001.000Hitting_HR0.1210.0000.8791.000
predicted_OBP0.3180.2000.200Hitting_OBP0.3450.250-0.145-0.050
predicted_R0.4791.0001.000Hitting_R0.5310.0000.4691.000
predicted_RBI0.4702.0002.000Hitting_RBI0.5230.0001.4772.000
predicted_SLG0.4330.8000.800Hitting_SLG0.3950.2500.4050.550
predicted_SO0.6850.0000.000Hitting_SO0.6883.000-0.688-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics8
Boosted Metrics5
Deboosted Metrics3
Better Metrics6
Worse Metrics2
Biggest Boostpredicted_RBI: 0.4700 -> 2.0000 (boost 1.5300, better)
Biggest Deboostpredicted_SO: 0.6850 -> 0.0000 (deboost -0.6850, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53223predicted_SO: 0.6850 -> 0.7589 (boost 0.0739, worse)predicted_AB: 4.1000 -> 3.8552 (deboost -0.2448, 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.3235 -> 0.3299 (boost 0.0064, 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_SO: 0.7512 -> 1.0000 (boost 0.2488, worse)predicted_RBI: 0.4398 -> 0.0000 (deboost -0.4398, worse)AB rounded to 4 (raw=4.10), rates preserved: AVG=0.246 HR/AB=0.042
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
7consistency_constraints10101-predicted_R: 0.4751 -> 0.0000 (deboost -0.4751, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4856 (boost 0.4856, better)predicted_SO: 1.0000 -> 0.6988 (deboost -0.3012, 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_allocation93627predicted_SO: 0.6988 -> 1.0000 (boost 0.3012, worse)predicted_RBI: 0.4856 -> 0.0000 (deboost -0.4856, 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 club run ratio within 2% of 1.0; 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_realization54150predicted_RBI: 0.0000 -> 2.0000 (boost 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final22020predicted_OBP: 0.3230 -> 0.3370 (boost 0.0140, 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": "669257",
  "player_name": "Will Smith",
  "position": "C",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.123,
        "predicted_3B": 0.0,
        "predicted_AB": 4.1,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.438,
        "predicted_H": 1.03,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.318,
        "predicted_R": 0.479,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.433,
        "predicted_SO": 0.685
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.107,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8552,
        "predicted_AVG": 0.2567,
        "predicted_BB": 0.3983,
        "predicted_H": 0.9882,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1706,
        "predicted_OBP": 0.3235,
        "predicted_R": 0.4621,
        "predicted_RBI": 0.4278,
        "predicted_SLG": 0.4241,
        "predicted_SO": 0.7589
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.8552,
          "delta": -0.2448,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2567,
          "delta": 0.0057,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.318,
          "after": 0.3235,
          "delta": 0.0055,
          "percent_delta": 0.0173,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4241,
          "delta": -0.0089,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.685,
          "after": 0.7589,
          "delta": 0.0739,
          "percent_delta": 0.1079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.685,
          "after": 0.7589,
          "delta": 0.0739,
          "percent_delta": 0.1079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.8552,
          "delta": -0.2448,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 73
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.107,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8552,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.4023,
        "predicted_H": 1.0024,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1717,
        "predicted_OBP": 0.3299,
        "predicted_R": 0.4751,
        "predicted_RBI": 0.4398,
        "predicted_SLG": 0.4216,
        "predicted_SO": 0.7512
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3235,
          "after": 0.3299,
          "delta": 0.0064,
          "percent_delta": 0.0198,
          "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.3235,
          "after": 0.3299,
          "delta": 0.0064,
          "percent_delta": 0.0198,
          "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.10), rates preserved: AVG=0.246 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.107,
          "after": 0.0,
          "delta": -0.107,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8552,
          "after": 4.0,
          "delta": 0.1448,
          "percent_delta": 0.0376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4023,
          "after": 0.0,
          "delta": -0.4023,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1717,
          "after": 0.0,
          "delta": -0.1717,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4398,
          "after": 0.0,
          "delta": -0.4398,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7512,
          "after": 1.0,
          "delta": 0.2488,
          "percent_delta": 0.3312,
          "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.7512,
          "after": 1.0,
          "delta": 0.2488,
          "percent_delta": 0.3312,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4398,
          "after": 0.0,
          "delta": -0.4398,
          "percent_delta": -1.0,
          "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.300)",
      "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.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": 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.4751,
          "after": 0.0,
          "delta": -0.4751,
          "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.4751,
          "after": 0.0,
          "delta": -0.4751,
          "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.1592,
        "predicted_3B": 0.0086,
        "predicted_BB": 0.3539,
        "predicted_H": 0.9324,
        "predicted_HR": 0.158,
        "predicted_RBI": 0.4856,
        "predicted_SO": 0.6988
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1592,
          "delta": 0.1592,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3539,
          "delta": 0.3539,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9324,
          "delta": -0.0676,
          "percent_delta": -0.0676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.158,
          "delta": 0.158,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4856,
          "delta": 0.4856,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6988,
          "delta": -0.3012,
          "percent_delta": -0.3012,
          "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.4856,
          "delta": 0.4856,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6988,
          "delta": -0.3012,
          "percent_delta": -0.3012,
          "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.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.323,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.428,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1592,
          "after": 0.0,
          "delta": -0.1592,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.252,
          "delta": -0.008,
          "percent_delta": -0.0308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3539,
          "after": 0.0,
          "delta": -0.3539,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9324,
          "after": 1.0,
          "delta": 0.0676,
          "percent_delta": 0.0725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.158,
          "after": 0.0,
          "delta": -0.158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3299,
          "after": 0.323,
          "delta": -0.0069,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4856,
          "after": 0.0,
          "delta": -0.4856,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4216,
          "after": 0.428,
          "delta": 0.0064,
          "percent_delta": 0.0152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6988,
          "after": 1.0,
          "delta": 0.3012,
          "percent_delta": 0.431,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6988,
          "after": 1.0,
          "delta": 0.3012,
          "percent_delta": 0.431,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4856,
          "after": 0.0,
          "delta": -0.4856,
          "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.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.323,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.428,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.323,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.428,
        "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": 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": 5.0,
        "predicted_BB": 0.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": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "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": 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": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 5.0,
        "predicted_BB": 0.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": 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": 5.0,
        "predicted_AVG": 0.253,
        "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.337,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.433,
        "predicted_SO": 0.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.337,
          "delta": 0.014,
          "percent_delta": 0.0433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.428,
          "after": 0.433,
          "delta": 0.005,
          "percent_delta": 0.0117,
          "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.337,
          "delta": 0.014,
          "percent_delta": 0.0433,
          "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.123,
        "after": 0.0,
        "delta": -0.123,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 5.0,
        "delta": 0.9,
        "percent_delta": 0.2195,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.438,
        "after": 0.0,
        "delta": -0.438,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.318,
        "after": 0.337,
        "delta": 0.019,
        "percent_delta": 0.0597,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.479,
        "after": 1.0,
        "delta": 0.521,
        "percent_delta": 1.0877,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 2.0,
        "delta": 1.53,
        "percent_delta": 3.2553,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.685,
        "after": 0.0,
        "delta": -0.685,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 5,
      "deboosted_metrics": 3,
      "better_metrics": 6,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 2.0,
        "delta": 1.53,
        "percent_delta": 3.2553,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.685,
        "after": 0.0,
        "delta": -0.685,
        "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.123-
predicted_3B0.000-
predicted_AB4.100-
predicted_AVG0.251-
predicted_BB0.438-
predicted_H1.030-
predicted_HR0.190-
predicted_OBP0.318-
predicted_R0.479-
predicted_RBI0.470-
predicted_SLG0.433-
predicted_SO0.685-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.107-0.016
predicted_3B0.0000.000
predicted_AB3.855-0.245
predicted_AVG0.2570.006
predicted_BB0.398-0.040
predicted_H0.988-0.042
predicted_HBP0.026-
predicted_HR0.171-0.019
predicted_OBP0.3240.006
predicted_R0.462-0.017
predicted_RBI0.428-0.042
predicted_SLG0.424-0.009
predicted_SO0.7590.074
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1070.000
predicted_3B0.0000.000
predicted_AB3.8550.000
predicted_AVG0.2600.003
predicted_BB0.4020.004
predicted_H1.0020.014
predicted_HBP0.0260.000
predicted_HR0.1720.001
predicted_OBP0.3300.006
predicted_R0.4750.013
predicted_RBI0.4400.012
predicted_SLG0.422-0.003
predicted_SO0.751-0.008
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.10), rates preserved: AVG=0.246 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=10.0, weight=0.100, BvP AVG=0.300)

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.1590.159
3B0.0090.009
BB0.3540.354
H0.932-0.068
HR0.1580.158
RBI0.4860.486
SO0.699-0.301
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.159
3B0.000-0.009
AB4.0000.000
AVG0.252-
BB0.000-0.354
H1.0000.068
HR0.000-0.158
OBP0.323-
R0.0000.000
RBI0.000-0.486
SLG0.428-
SO1.0000.301
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.107
predicted_3B0.000-0.000
predicted_AB4.0000.145
predicted_AVG0.252-0.008
predicted_BB0.000-0.402
predicted_H1.000-0.002
predicted_HR0.000-0.172
predicted_OBP0.323-0.007
predicted_R0.000-0.475
predicted_RBI0.000-0.440
predicted_SLG0.4280.006
predicted_SO1.0000.249
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2520.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3230.000
R0.0000.000
RBI0.0000.000
SLG0.4280.000
SO1.0000.000
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
AB5.0001.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0001.000
RBI2.0002.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
AB5.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA5.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: 73
Reference playing time: 4.100
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0000.0000.0000.0000.0001.0000.0007.0000.26320.26320.26320.26320.00000.00000.00000.3684
last_100.2010-35.00011.0000.0000.0003.0004.0005.0004.0009.0000.31430.38460.57140.31430.08570.11430.11430.2571
season0.6073-247.00062.0009.0000.00010.00033.00035.00032.00050.0000.25100.34040.40890.25100.04050.13360.12950.2024
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0850
predicted_3B0.0010
predicted_AB3.5200
predicted_AVG0.2644
predicted_BB0.3440
predicted_H0.9310
predicted_HBP0.0260
predicted_HR0.1440
predicted_OBP0.3311
predicted_R0.4390
predicted_RBI0.3700
predicted_SLG0.4118
predicted_SO0.8600
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.08500.1070model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.10003.52003.8552model_form_blend
predicted_AVG0.25100.26440.2567model_form_blend
predicted_BB0.43800.34400.3983model_form_blend
predicted_H1.03000.93100.9882model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.19000.14400.1706model_form_blend
predicted_OBP0.31800.33110.3235model_form_blend
predicted_R0.47900.43900.4621model_form_blend
predicted_RBI0.47000.37000.4278model_form_blend
predicted_SLG0.43300.41180.4241model_form_blend
predicted_SO0.68500.86000.7589model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR1
R1
RBI2
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_SO3
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261006_LAD@ATL
game_typefull
mlbID669257
playerID669257
playerNameWill Smith
posC
startedTrue
startingPositionC
teamLAD
teamID14
game_date2026-10-06
sl_k_percent16.3
sl_bb_percent12.3
sl_woba0.345
sl_xwoba0.389
sl_xba0.279
sl_xslg0.502
sl_sweet_spot_percent43.3
sl_barrel_batted_rate12.4
sl_hard_hit_percent41.2
sl_exit_velocity_avg89.1
sl_launch_angle_avg20.1
sl_whiff_percent16.7
sl_swing_percent41.6
Shohei Ohtani (660271) · BATTER · DH · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 605
All-history rows before 20261007: 605
System season_avg: 0.2730
Data season_avg (2026 season-to-date): 0.2785
Diff (system - data): -0.0055
System opponent_avg: 0.0830

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1820.0000.000Hitting_2B0.1850.000-0.1850.000
predicted_3B0.0290.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB3.8543.0003.000Hitting_AB3.8992.000-0.8991.000
predicted_AVG0.2730.3330.333Hitting_AVG0.2790.0000.0550.333
predicted_BB0.5991.0001.000Hitting_BB0.6381.0000.3620.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H1.0511.0001.000Hitting_H1.0860.000-0.0861.000
predicted_HR0.2190.0000.000Hitting_HR0.2300.000-0.2300.000
predicted_OBP0.3700.5000.500Hitting_OBP0.3840.3330.1160.167
predicted_R0.6421.0001.000Hitting_R0.6880.0000.3121.000
predicted_RBI0.5770.0000.000Hitting_RBI0.6300.000-0.6300.000
predicted_SLG0.5060.3330.333Hitting_SLG0.5200.000-0.1860.333
predicted_SO1.1241.0001.000Hitting_SO1.1361.000-0.1360.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_BB: 0.5990 -> 1.0000 (boost 0.4010, better)
Biggest Deboostpredicted_AB: 3.8540 -> 3.0000 (deboost -0.8540, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend70707-predicted_R: 0.6420 -> 0.5381 (deboost -0.1039, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62433predicted_BB: 0.5464 -> 1.0000 (boost 0.4536, better)predicted_RBI: 0.4985 -> 0.0000 (deboost -0.4985, worse)AB rounded to 4 (raw=3.85), rates preserved: AVG=0.265 HR/AB=0.047
6bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
7consistency_constraints11010predicted_R: 0.5532 -> 1.0000 (boost 0.4468, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4714 (boost 0.4714, better)predicted_H: 1.0000 -> 0.9257 (deboost -0.0743, 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_allocation82626predicted_BB: 0.4591 -> 1.0000 (boost 0.5409, better)predicted_RBI: 0.4714 -> 0.0000 (deboost -0.4714, 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 club run ratio within 2% of 1.0; 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_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final20202-predicted_AVG: 0.2460 -> 0.2380 (deboost -0.0080, 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": "660271",
  "player_name": "Shohei Ohtani",
  "position": "DH",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.182,
        "predicted_3B": 0.029,
        "predicted_AB": 3.854,
        "predicted_AVG": 0.273,
        "predicted_BB": 0.599,
        "predicted_H": 1.051,
        "predicted_HR": 0.219,
        "predicted_OBP": 0.37,
        "predicted_R": 0.642,
        "predicted_RBI": 0.577,
        "predicted_SLG": 0.506,
        "predicted_SO": 1.124
      },
      "changed_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.1593,
        "predicted_3B": 0.0238,
        "predicted_AB": 3.8274,
        "predicted_AVG": 0.2608,
        "predicted_BB": 0.5409,
        "predicted_H": 0.9977,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.1797,
        "predicted_OBP": 0.3534,
        "predicted_R": 0.5381,
        "predicted_RBI": 0.4849,
        "predicted_SLG": 0.4557,
        "predicted_SO": 1.1559
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.273,
          "after": 0.2608,
          "delta": -0.0122,
          "percent_delta": -0.0447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.599,
          "after": 0.5409,
          "delta": -0.0581,
          "percent_delta": -0.097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.051,
          "after": 0.9977,
          "delta": -0.0533,
          "percent_delta": -0.0507,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.37,
          "after": 0.3534,
          "delta": -0.0166,
          "percent_delta": -0.0449,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.642,
          "after": 0.5381,
          "delta": -0.1039,
          "percent_delta": -0.1618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.577,
          "after": 0.4849,
          "delta": -0.0921,
          "percent_delta": -0.1596,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.506,
          "after": 0.4557,
          "delta": -0.0503,
          "percent_delta": -0.0994,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.642,
          "after": 0.5381,
          "delta": -0.1039,
          "percent_delta": -0.1618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 137
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1593,
        "predicted_3B": 0.0238,
        "predicted_AB": 3.8274,
        "predicted_AVG": 0.2644,
        "predicted_BB": 0.5464,
        "predicted_H": 1.0121,
        "predicted_HBP": 0.049,
        "predicted_HR": 0.1808,
        "predicted_OBP": 0.3563,
        "predicted_R": 0.5532,
        "predicted_RBI": 0.4985,
        "predicted_SLG": 0.4602,
        "predicted_SO": 1.1442
      },
      "changed_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.85), rates preserved: AVG=0.265 HR/AB=0.047",
      "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.1593,
          "after": 0.0,
          "delta": -0.1593,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8274,
          "after": 4.0,
          "delta": 0.1726,
          "percent_delta": 0.0451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5464,
          "after": 1.0,
          "delta": 0.4536,
          "percent_delta": 0.8302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1808,
          "after": 0.0,
          "delta": -0.1808,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4985,
          "after": 0.0,
          "delta": -0.4985,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1442,
          "after": 1.0,
          "delta": -0.1442,
          "percent_delta": -0.126,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5464,
          "after": 1.0,
          "delta": 0.4536,
          "percent_delta": 0.8302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4985,
          "after": 0.0,
          "delta": -0.4985,
          "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.083)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.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": 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.5532,
          "after": 1.0,
          "delta": 0.4468,
          "percent_delta": 0.8077,
          "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.5532,
          "after": 1.0,
          "delta": 0.4468,
          "percent_delta": 0.8077,
          "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.1548,
        "predicted_3B": 0.0153,
        "predicted_BB": 0.4591,
        "predicted_H": 0.9257,
        "predicted_HR": 0.1811,
        "predicted_RBI": 0.4714,
        "predicted_SO": 1.0124
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1548,
          "delta": 0.1548,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4591,
          "delta": 0.4591,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9257,
          "delta": -0.0743,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1811,
          "delta": 0.1811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4714,
          "delta": 0.4714,
          "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.4714,
          "delta": 0.4714,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9257,
          "delta": -0.0743,
          "percent_delta": -0.0743,
          "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.246,
        "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.44,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1548,
          "after": 0.0,
          "delta": -0.1548,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2644,
          "after": 0.246,
          "delta": -0.0184,
          "percent_delta": -0.0696,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4591,
          "after": 1.0,
          "delta": 0.5409,
          "percent_delta": 1.1782,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9257,
          "after": 1.0,
          "delta": 0.0743,
          "percent_delta": 0.0803,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1811,
          "after": 0.0,
          "delta": -0.1811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3563,
          "after": 0.333,
          "delta": -0.0233,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4714,
          "after": 0.0,
          "delta": -0.4714,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4602,
          "after": 0.44,
          "delta": -0.0202,
          "percent_delta": -0.0439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4591,
          "after": 1.0,
          "delta": 0.5409,
          "percent_delta": 1.1782,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4714,
          "after": 0.0,
          "delta": -0.4714,
          "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.246,
        "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.44,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.246,
        "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.44,
        "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": 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": 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
        }
      ],
      "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.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "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": 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": 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": 3.0,
        "predicted_AVG": 0.238,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.435,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.238,
          "delta": -0.008,
          "percent_delta": -0.0325,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.435,
          "delta": -0.005,
          "percent_delta": -0.0114,
          "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.246,
          "after": 0.238,
          "delta": -0.008,
          "percent_delta": -0.0325,
          "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.182,
        "after": 0.0,
        "delta": -0.182,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.854,
        "after": 3.0,
        "delta": -0.854,
        "percent_delta": -0.2216,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.273,
        "after": 0.238,
        "delta": -0.035,
        "percent_delta": -0.1282,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.599,
        "after": 1.0,
        "delta": 0.401,
        "percent_delta": 0.6694,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.051,
        "after": 1.0,
        "delta": -0.051,
        "percent_delta": -0.0485,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.219,
        "after": 0.0,
        "delta": -0.219,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.37,
        "after": 0.331,
        "delta": -0.039,
        "percent_delta": -0.1054,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.642,
        "after": 1.0,
        "delta": 0.358,
        "percent_delta": 0.5576,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.577,
        "after": 0.0,
        "delta": -0.577,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.506,
        "after": 0.435,
        "delta": -0.071,
        "percent_delta": -0.1403,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.124,
        "after": 1.0,
        "delta": -0.124,
        "percent_delta": -0.1103,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.599,
        "after": 1.0,
        "delta": 0.401,
        "percent_delta": 0.6694,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.854,
        "after": 3.0,
        "delta": -0.854,
        "percent_delta": -0.2216,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.182-
predicted_3B0.029-
predicted_AB3.854-
predicted_AVG0.273-
predicted_BB0.599-
predicted_H1.051-
predicted_HR0.219-
predicted_OBP0.370-
predicted_R0.642-
predicted_RBI0.577-
predicted_SLG0.506-
predicted_SO1.124-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.159-0.023
predicted_3B0.024-0.005
predicted_AB3.827-0.027
predicted_AVG0.261-0.012
predicted_BB0.541-0.058
predicted_H0.998-0.053
predicted_HBP0.049-
predicted_HR0.180-0.039
predicted_OBP0.353-0.017
predicted_R0.538-0.104
predicted_RBI0.485-0.092
predicted_SLG0.456-0.050
predicted_SO1.1560.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.1590.000
predicted_3B0.0240.000
predicted_AB3.8270.000
predicted_AVG0.2640.004
predicted_BB0.5460.005
predicted_H1.0120.014
predicted_HBP0.0490.000
predicted_HR0.1810.001
predicted_OBP0.3560.003
predicted_R0.5530.015
predicted_RBI0.4980.014
predicted_SLG0.4600.005
predicted_SO1.144-0.012
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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=12.0, weight=0.114, BvP AVG=0.083)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.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.1550.155
3B0.0150.015
BB0.4590.459
H0.926-0.074
HR0.1810.181
RBI0.4710.471
SO1.0120.012
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.015
AB4.0000.000
AVG0.246-
BB1.0000.541
H1.0000.074
HR0.000-0.181
OBP0.333-
R1.0000.000
RBI0.000-0.471
SLG0.440-
SO1.000-0.012
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.159
predicted_3B0.000-0.024
predicted_AB4.0000.173
predicted_AVG0.246-0.018
predicted_BB1.0000.454
predicted_H1.000-0.012
predicted_HR0.000-0.181
predicted_OBP0.333-0.023
predicted_R1.0000.447
predicted_RBI0.000-0.498
predicted_SLG0.440-0.020
predicted_SO1.000-0.144
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2460.000
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3330.000
R1.0000.000
RBI0.0000.000
SLG0.4400.000
SO1.0000.000
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
AB3.000-1.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.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
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: 137
Reference playing time: 3.854
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0000.0000.0000.0000.0000.0001.0005.0000.22220.26320.22220.22220.00000.00000.05560.2778
last_100.2010-38.0007.0001.0000.0000.0001.0001.0004.00017.0000.18420.27910.21050.18420.00000.02630.10530.4474
season0.60137-528.000144.00025.0004.00030.00079.00088.00082.000154.0000.27270.37460.50570.27270.05680.14960.15530.2917
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1300
predicted_3B0.0170
predicted_AB3.7930
predicted_AVG0.2450
predicted_BB0.4660
predicted_H0.9290
predicted_HBP0.0490
predicted_HR0.1290
predicted_OBP0.3319
predicted_R0.4040
predicted_RBI0.3660
predicted_SLG0.3908
predicted_SO1.1970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18200.13000.1593model_form_blend
predicted_3B0.02900.01700.0238model_form_blend
predicted_AB3.85403.79303.8274model_form_blend
predicted_AVG0.27300.24500.2608model_form_blend
predicted_BB0.59900.46600.5409model_form_blend
predicted_H1.05100.92900.9977model_form_blend
predicted_HBP-0.04900.0490form_only
predicted_HR0.21900.12900.1797model_form_blend
predicted_OBP0.37000.33190.3534model_form_blend
predicted_R0.64200.40400.5381model_form_blend
predicted_RBI0.57700.36600.4849model_form_blend
predicted_SLG0.50600.39080.4557model_form_blend
predicted_SO1.12401.19701.1559model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R1
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_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261006_LAD@ATL
game_typefull
mlbID660271
playerID660271
playerNameShohei Ohtani
posTWP
startedTrue
startingPositionDH
teamLAD
teamID14
game_date2026-10-06
sl_k_percent24.6
sl_bb_percent13.1
sl_woba0.377
sl_xwoba0.397
sl_xba0.286
sl_xslg0.552
sl_sweet_spot_percent38.0
sl_barrel_batted_rate16.4
sl_hard_hit_percent52.1
sl_exit_velocity_avg93.3
sl_launch_angle_avg12.3
sl_whiff_percent31.7
sl_swing_percent46.6
Teoscar Hernández (606192) · BATTER · LF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 461
All-history rows before 20261007: 461
System season_avg: 0.2640
Data season_avg (2026 season-to-date): 0.2652
Diff (system - data): -0.0012
System opponent_avg: 0.2260

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1350.0000.000Hitting_2B0.1390.000-0.1390.000
predicted_3B0.0160.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB4.0403.0003.000Hitting_AB3.6644.000-0.664-1.000
predicted_AVG0.2280.3330.333Hitting_AVG0.2650.0000.0680.333
predicted_BB0.3251.0001.000Hitting_BB0.3750.0000.6251.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.9201.0001.000Hitting_H0.9720.0000.0281.000
predicted_HR0.1801.0001.000Hitting_HR0.1300.0000.8701.000
predicted_OBP0.2760.5000.500Hitting_OBP0.3360.0000.1640.500
predicted_R0.5322.0002.000Hitting_R0.5530.0001.4472.000
predicted_RBI0.5201.0001.000Hitting_RBI0.5490.0000.4511.000
predicted_SLG0.4181.3331.333Hitting_SLG0.4190.0000.9141.333
predicted_SO1.0871.0001.000Hitting_SO1.0910.000-0.0911.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics8
Worse Metrics2
Biggest Boostpredicted_R: 0.5320 -> 2.0000 (boost 1.4680, better)
Biggest Deboostpredicted_AB: 4.0400 -> 3.0000 (deboost -1.0400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_AVG: 0.2280 -> 0.2359 (boost 0.0079, better)predicted_AB: 4.0400 -> 3.8554 (deboost -0.1846, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2820 -> 0.2892 (boost 0.0072, better)predicted_SLG: 0.4203 -> 0.4153 (deboost -0.0050, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_AB: 3.8554 -> 4.0000 (boost 0.1446, better)predicted_RBI: 0.5043 -> 0.0000 (deboost -0.5043, worse)AB rounded to 4 (raw=4.04), rates preserved: AVG=0.229 HR/AB=0.043
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
7consistency_constraints11010predicted_R: 0.5407 -> 1.0000 (boost 0.4593, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.4812 (boost 0.4812, 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_allocation72534predicted_OBP: 0.2892 -> 0.3170 (boost 0.0278, better)predicted_RBI: 0.4812 -> 0.0000 (deboost -0.4812, 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 club run ratio within 2% of 1.0; lineup line unchanged
12market_blend00000--Market blend not applied: no props for this hitter
13play_by_play_realization54141predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_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": "606192",
  "player_name": "Teoscar Hernández",
  "position": "LF",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.135,
        "predicted_3B": 0.016,
        "predicted_AB": 4.04,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.325,
        "predicted_H": 0.92,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.276,
        "predicted_R": 0.532,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.418,
        "predicted_SO": 1.087
      },
      "changed_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.1385,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.8554,
        "predicted_AVG": 0.2359,
        "predicted_BB": 0.2713,
        "predicted_H": 0.907,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1709,
        "predicted_OBP": 0.282,
        "predicted_R": 0.5259,
        "predicted_RBI": 0.4905,
        "predicted_SLG": 0.4203,
        "predicted_SO": 1.1078
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.04,
          "after": 3.8554,
          "delta": -0.1846,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.2359,
          "delta": 0.0079,
          "percent_delta": 0.0346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.325,
          "after": 0.2713,
          "delta": -0.0537,
          "percent_delta": -0.1652,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.282,
          "delta": 0.006,
          "percent_delta": 0.0217,
          "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.228,
          "after": 0.2359,
          "delta": 0.0079,
          "percent_delta": 0.0346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.04,
          "after": 3.8554,
          "delta": -0.1846,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 126
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1385,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.8554,
        "predicted_AVG": 0.2386,
        "predicted_BB": 0.274,
        "predicted_H": 0.9201,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.172,
        "predicted_OBP": 0.2892,
        "predicted_R": 0.5407,
        "predicted_RBI": 0.5043,
        "predicted_SLG": 0.4153,
        "predicted_SO": 1.0966
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.2892,
          "delta": 0.0072,
          "percent_delta": 0.0255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4203,
          "after": 0.4153,
          "delta": -0.005,
          "percent_delta": -0.0119,
          "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_OBP",
          "before": 0.282,
          "after": 0.2892,
          "delta": 0.0072,
          "percent_delta": 0.0255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4203,
          "after": 0.4153,
          "delta": -0.005,
          "percent_delta": -0.0119,
          "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.04), rates preserved: AVG=0.229 HR/AB=0.043",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1385,
          "after": 0.0,
          "delta": -0.1385,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8554,
          "after": 4.0,
          "delta": 0.1446,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.274,
          "after": 0.0,
          "delta": -0.274,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9201,
          "after": 1.0,
          "delta": 0.0799,
          "percent_delta": 0.0868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.172,
          "after": 0.0,
          "delta": -0.172,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5043,
          "after": 0.0,
          "delta": -0.5043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0966,
          "after": 1.0,
          "delta": -0.0966,
          "percent_delta": -0.0881,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.8554,
          "after": 4.0,
          "delta": 0.1446,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5043,
          "after": 0.0,
          "delta": -0.5043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, 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.9077,
        "bvp": 0.0923
      }
    },
    {
      "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.5407,
          "after": 1.0,
          "delta": 0.4593,
          "percent_delta": 0.8495,
          "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.5407,
          "after": 1.0,
          "delta": 0.4593,
          "percent_delta": 0.8495,
          "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.1598,
        "predicted_3B": 0.0116,
        "predicted_BB": 0.2797,
        "predicted_H": 0.9516,
        "predicted_HR": 0.1341,
        "predicted_RBI": 0.4812,
        "predicted_SO": 1.0569
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1598,
          "delta": 0.1598,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2797,
          "delta": 0.2797,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1341,
          "delta": 0.1341,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4812,
          "delta": 0.4812,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0569,
          "delta": 0.0569,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4812,
          "delta": 0.4812,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1598,
          "after": 0.0,
          "delta": -0.1598,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2386,
          "after": 0.259,
          "delta": 0.0204,
          "percent_delta": 0.0855,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2797,
          "after": 0.0,
          "delta": -0.2797,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1341,
          "after": 0.0,
          "delta": -0.1341,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2892,
          "after": 0.317,
          "delta": 0.0278,
          "percent_delta": 0.0961,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4812,
          "after": 0.0,
          "delta": -0.4812,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0569,
          "after": 1.0,
          "delta": -0.0569,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2892,
          "after": 0.317,
          "delta": 0.0278,
          "percent_delta": 0.0961,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4812,
          "after": 0.0,
          "delta": -0.4812,
          "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.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.419,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.419,
        "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": 12,
      "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": 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": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 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": 3.0,
        "predicted_AVG": 0.259,
        "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.317,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.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.135,
        "after": 0.0,
        "delta": -0.135,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.04,
        "after": 3.0,
        "delta": -1.04,
        "percent_delta": -0.2574,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.259,
        "delta": 0.031,
        "percent_delta": 0.136,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.325,
        "after": 1.0,
        "delta": 0.675,
        "percent_delta": 2.0769,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 1.0,
        "delta": 0.08,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.276,
        "after": 0.317,
        "delta": 0.041,
        "percent_delta": 0.1486,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.532,
        "after": 2.0,
        "delta": 1.468,
        "percent_delta": 2.7594,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 1.0,
        "delta": 0.48,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.087,
        "after": 1.0,
        "delta": -0.087,
        "percent_delta": -0.08,
        "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.532,
        "after": 2.0,
        "delta": 1.468,
        "percent_delta": 2.7594,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.04,
        "after": 3.0,
        "delta": -1.04,
        "percent_delta": -0.2574,
        "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.135-
predicted_3B0.016-
predicted_AB4.040-
predicted_AVG0.228-
predicted_BB0.325-
predicted_H0.920-
predicted_HR0.180-
predicted_OBP0.276-
predicted_R0.532-
predicted_RBI0.520-
predicted_SLG0.418-
predicted_SO1.087-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1390.004
predicted_3B0.013-0.003
predicted_AB3.855-0.185
predicted_AVG0.2360.008
predicted_BB0.271-0.054
predicted_H0.907-0.013
predicted_HBP0.038-
predicted_HR0.171-0.009
predicted_OBP0.2820.006
predicted_R0.526-0.006
predicted_RBI0.490-0.030
predicted_SLG0.4200.002
predicted_SO1.1080.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.1390.000
predicted_3B0.0130.000
predicted_AB3.8550.000
predicted_AVG0.2390.003
predicted_BB0.2740.003
predicted_H0.9200.013
predicted_HBP0.0380.000
predicted_HR0.1720.001
predicted_OBP0.2890.007
predicted_R0.5410.015
predicted_RBI0.5040.014
predicted_SLG0.415-0.005
predicted_SO1.097-0.011
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

Sample-size BvP blend (BvP AB=9.0, weight=0.092, 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.1600.160
3B0.0120.012
BB0.2800.280
H0.952-0.048
HR0.1340.134
RBI0.4810.481
SO1.0570.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.160
3B0.000-0.012
AB4.0000.000
AVG0.259-
BB0.000-0.280
H1.0000.048
HR0.000-0.134
OBP0.317-
R1.0000.000
RBI0.000-0.481
SLG0.419-
SO1.000-0.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.139
predicted_3B0.000-0.013
predicted_AB4.0000.145
predicted_AVG0.2590.020
predicted_BB0.000-0.274
predicted_H1.0000.080
predicted_HR0.000-0.172
predicted_OBP0.3170.028
predicted_R1.0000.459
predicted_RBI0.000-0.504
predicted_SLG0.4190.004
predicted_SO1.000-0.097
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2590.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3170.000
R1.0000.000
RBI0.0000.000
SLG0.4190.000
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
AB3.000-1.000
BB1.0001.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R2.0001.000
RBI1.0001.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
AB3.0000.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R2.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: 126
Reference playing time: 4.040
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.0001.0002.0002.0000.0006.0000.16670.16670.38890.16670.05560.11110.00000.3333
last_100.2010-37.00010.0001.0000.0002.0003.0006.0000.00013.0000.27030.28950.45950.27030.05410.08110.00000.3513
season0.60126-450.000119.00017.0002.00017.00065.00067.00041.000137.0000.26440.32930.42440.26440.03780.14440.09110.3044
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1430
predicted_3B0.0100
predicted_AB3.6140
predicted_AVG0.2462
predicted_BB0.2010
predicted_H0.8900
predicted_HBP0.0380
predicted_HR0.1590
predicted_OBP0.2898
predicted_R0.5180
predicted_RBI0.4520
predicted_SLG0.4233
predicted_SO1.1350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13500.14300.1385model_form_blend
predicted_3B0.01600.01000.0134model_form_blend
predicted_AB4.04003.61403.8554model_form_blend
predicted_AVG0.22800.24620.2359model_form_blend
predicted_BB0.32500.20100.2713model_form_blend
predicted_H0.92000.89000.9070model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.18000.15900.1709model_form_blend
predicted_OBP0.27600.28980.2820model_form_blend
predicted_R0.53200.51800.5259model_form_blend
predicted_RBI0.52000.45200.4905model_form_blend
predicted_SLG0.41800.42330.4203model_form_blend
predicted_SO1.08701.13501.1078model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR1
R2
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_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261006_LAD@ATL
game_typefull
mlbID606192
playerID606192
playerNameTeoscar Hernández
posLF
startedTrue
startingPositionLF
teamLAD
teamID14
game_date2026-10-06
sl_k_percent27.5
sl_bb_percent8.6
sl_woba0.332
sl_xwoba0.332
sl_xba0.256
sl_xslg0.437
sl_sweet_spot_percent33.5
sl_barrel_batted_rate10.7
sl_hard_hit_percent44.8
sl_exit_velocity_avg90.3
sl_launch_angle_avg13.9
sl_whiff_percent32.6
sl_swing_percent48.0
Max Muncy (571970) · BATTER · 3B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 538
All-history rows before 20261007: 538
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2598
Diff (system - data): -0.0098
System opponent_avg: 0.3160

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.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.2804.0004.000Hitting_AB3.5201.0000.4803.000
predicted_AVG0.2270.2500.250Hitting_AVG0.2600.000-0.0100.250
predicted_BB0.4270.0000.000Hitting_BB0.4850.000-0.4850.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3801.0001.000Hitting_H0.9140.0000.0861.000
predicted_HR0.1500.0000.000Hitting_HR0.2270.000-0.2270.000
predicted_OBP0.3130.2500.250Hitting_OBP0.3570.000-0.1070.250
predicted_R0.5470.0000.000Hitting_R0.6100.000-0.6100.000
predicted_RBI0.2902.0002.000Hitting_RBI0.5870.0001.4132.000
predicted_SLG0.5470.2500.250Hitting_SLG0.5080.000-0.2580.250
predicted_SO0.9472.0002.000Hitting_SO1.0171.0000.9831.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.2900 -> 2.0000 (boost 1.7100, better)
Biggest Deboostpredicted_R: 0.5470 -> 0.0000 (deboost -0.5470, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54150predicted_H: 0.3800 -> 0.5724 (boost 0.1924, better)predicted_SO: 0.9470 -> 0.8756 (deboost -0.0714, 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.5483 -> 0.4172 (deboost -0.1311, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_AB: 3.2535 -> 4.0000 (boost 0.7465, better)predicted_BB: 0.4080 -> 0.0000 (deboost -0.4080, worse)AB rounded to 4 (raw=3.28), rates preserved: AVG=0.178 HR/AB=0.059
6bvp_blend00000--Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.316)
7consistency_constraints11010predicted_R: 0.5641 -> 1.0000 (boost 0.4359, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4965 (boost 0.4965, better)predicted_H: 1.0000 -> 0.9133 (deboost -0.0867, 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_allocation87171predicted_HR: 0.1839 -> 1.0000 (boost 0.8161, better)predicted_2B: 0.1671 -> 0.0000 (deboost -0.1671, 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 club run ratio within 2% of 1.0; lineup line unchanged
12market_blend00000--Market blend not applied: no props for this hitter
13play_by_play_realization52314predicted_RBI: 1.0000 -> 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_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": "571970",
  "player_name": "Max Muncy",
  "position": "3B",
  "team": "LAD",
  "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.007,
        "predicted_AB": 3.28,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.427,
        "predicted_H": 0.38,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.313,
        "predicted_R": 0.547,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.547,
        "predicted_SO": 0.947
      },
      "changed_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.1865,
        "predicted_3B": 0.0057,
        "predicted_AB": 3.2535,
        "predicted_AVG": 0.2393,
        "predicted_BB": 0.4039,
        "predicted_H": 0.5724,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1918,
        "predicted_OBP": 0.3234,
        "predicted_R": 0.5487,
        "predicted_RBI": 0.3696,
        "predicted_SLG": 0.5483,
        "predicted_SO": 0.8756
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2393,
          "delta": 0.0123,
          "percent_delta": 0.0542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.5724,
          "delta": 0.1924,
          "percent_delta": 0.5063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3234,
          "delta": 0.0104,
          "percent_delta": 0.0332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.3696,
          "delta": 0.0796,
          "percent_delta": 0.2745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.947,
          "after": 0.8756,
          "delta": -0.0714,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.5724,
          "delta": 0.1924,
          "percent_delta": 0.5063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.947,
          "after": 0.8756,
          "delta": -0.0714,
          "percent_delta": -0.0754,
          "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": 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.1865,
        "predicted_3B": 0.0057,
        "predicted_AB": 3.2535,
        "predicted_AVG": 0.1785,
        "predicted_BB": 0.408,
        "predicted_H": 0.5806,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.193,
        "predicted_OBP": 0.27,
        "predicted_R": 0.5641,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.4172,
        "predicted_SO": 0.8668
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2393,
          "after": 0.1785,
          "delta": -0.0608,
          "percent_delta": -0.2541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3234,
          "after": 0.27,
          "delta": -0.0534,
          "percent_delta": -0.1651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5483,
          "after": 0.4172,
          "delta": -0.1311,
          "percent_delta": -0.2391,
          "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.5483,
          "after": 0.4172,
          "delta": -0.1311,
          "percent_delta": -0.2391,
          "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.28), rates preserved: AVG=0.178 HR/AB=0.059",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1865,
          "after": 0.0,
          "delta": -0.1865,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.2535,
          "after": 4.0,
          "delta": 0.7465,
          "percent_delta": 0.2294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.408,
          "after": 0.0,
          "delta": -0.408,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5806,
          "after": 1.0,
          "delta": 0.4194,
          "percent_delta": 0.7224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.193,
          "after": 0.0,
          "delta": -0.193,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.0,
          "delta": -0.38,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8668,
          "after": 1.0,
          "delta": 0.1332,
          "percent_delta": 0.1537,
          "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.2535,
          "after": 4.0,
          "delta": 0.7465,
          "percent_delta": 0.2294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.408,
          "after": 0.0,
          "delta": -0.408,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.316)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.8449,
        "bvp": 0.1551
      }
    },
    {
      "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.5641,
          "after": 1.0,
          "delta": 0.4359,
          "percent_delta": 0.7727,
          "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.5641,
          "after": 1.0,
          "delta": 0.4359,
          "percent_delta": 0.7727,
          "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.1671,
        "predicted_3B": 0.0087,
        "predicted_BB": 0.381,
        "predicted_H": 0.9133,
        "predicted_HR": 0.1839,
        "predicted_RBI": 0.4965,
        "predicted_SO": 0.9664
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1671,
          "delta": 0.1671,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.381,
          "delta": 0.381,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9133,
          "delta": -0.0867,
          "percent_delta": -0.0867,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1839,
          "delta": 0.1839,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4965,
          "delta": 0.4965,
          "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.4965,
          "delta": 0.4965,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9133,
          "delta": -0.0867,
          "percent_delta": -0.0867,
          "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.256,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.462,
        "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_AVG",
          "before": 0.1785,
          "after": 0.256,
          "delta": 0.0775,
          "percent_delta": 0.4342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.381,
          "after": 1.0,
          "delta": 0.619,
          "percent_delta": 1.6247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9133,
          "after": 1.0,
          "delta": 0.0867,
          "percent_delta": 0.0949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1839,
          "after": 1.0,
          "delta": 0.8161,
          "percent_delta": 4.4377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.333,
          "delta": 0.063,
          "percent_delta": 0.2333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4965,
          "after": 1.0,
          "delta": 0.5035,
          "percent_delta": 1.0141,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4172,
          "after": 0.462,
          "delta": 0.0448,
          "percent_delta": 0.1074,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 7,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.1839,
          "after": 1.0,
          "delta": 0.8161,
          "percent_delta": 4.4377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1671,
          "after": 0.0,
          "delta": -0.1671,
          "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.256,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.462,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.256,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.462,
        "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": 12,
      "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": 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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 2.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_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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 2.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.256,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.462,
        "predicted_SO": 2.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.173,
        "after": 0.0,
        "delta": -0.173,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.28,
        "after": 4.0,
        "delta": 0.72,
        "percent_delta": 0.2195,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.227,
        "after": 0.256,
        "delta": 0.029,
        "percent_delta": 0.1278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.427,
        "after": 0.0,
        "delta": -0.427,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.38,
        "after": 1.0,
        "delta": 0.62,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.313,
        "after": 0.333,
        "delta": 0.02,
        "percent_delta": 0.0639,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.547,
        "after": 0.0,
        "delta": -0.547,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 2.0,
        "delta": 1.71,
        "percent_delta": 5.8966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.547,
        "after": 0.462,
        "delta": -0.085,
        "percent_delta": -0.1554,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.947,
        "after": 2.0,
        "delta": 1.053,
        "percent_delta": 1.1119,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 2.0,
        "delta": 1.71,
        "percent_delta": 5.8966,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.547,
        "after": 0.0,
        "delta": -0.547,
        "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.007-
predicted_AB3.280-
predicted_AVG0.227-
predicted_BB0.427-
predicted_H0.380-
predicted_HR0.150-
predicted_OBP0.313-
predicted_R0.547-
predicted_RBI0.290-
predicted_SLG0.547-
predicted_SO0.947-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1860.014
predicted_3B0.006-0.001
predicted_AB3.253-0.026
predicted_AVG0.2390.012
predicted_BB0.404-0.023
predicted_H0.5720.192
predicted_HBP0.028-
predicted_HR0.1920.042
predicted_OBP0.3230.010
predicted_R0.5490.002
predicted_RBI0.3700.080
predicted_SLG0.5480.001
predicted_SO0.876-0.071
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1860.000
predicted_3B0.0060.000
predicted_AB3.2530.000
predicted_AVG0.178-0.061
predicted_BB0.4080.004
predicted_H0.5810.008
predicted_HBP0.0280.000
predicted_HR0.1930.001
predicted_OBP0.270-0.053
predicted_R0.5640.015
predicted_RBI0.3800.010
predicted_SLG0.417-0.131
predicted_SO0.867-0.009
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.316)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1670.167
3B0.0090.009
BB0.3810.381
H0.913-0.087
HR0.1840.184
RBI0.4960.496
SO0.966-0.034
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.167
3B0.000-0.009
AB4.0000.000
AVG0.256-
BB1.0000.619
H1.0000.087
HR1.0000.816
OBP0.333-
R1.0000.000
RBI1.0000.504
SLG0.462-
SO1.0000.034
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.186
predicted_3B0.000-0.006
predicted_AB4.0000.747
predicted_AVG0.2560.078
predicted_BB1.0000.592
predicted_H1.0000.419
predicted_HR1.0000.807
predicted_OBP0.3330.063
predicted_R1.0000.436
predicted_RBI1.0000.620
predicted_SLG0.4620.045
predicted_SO1.0000.133
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2560.000
BB1.0000.000
H1.0000.000
HR1.0000.000
OBP0.3330.000
R1.0000.000
RBI1.0000.000
SLG0.4620.000
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI2.0001.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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI2.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: 150
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0001.0000.0002.0002.0003.0002.0002.0000.28570.37500.78570.28570.14290.14290.14290.1429
last_100.2010-33.0008.0003.0000.0002.0004.0005.0002.0007.0000.24240.28570.51520.24240.06060.12120.06060.2121
season0.60150-492.000123.00026.0001.00031.00078.00082.00064.000142.0000.25000.34400.49590.25000.06300.15850.13010.2886
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2040
predicted_3B0.0040
predicted_AB3.2190
predicted_AVG0.2552
predicted_BB0.3740
predicted_H0.8220
predicted_HBP0.0280
predicted_HR0.2460
predicted_OBP0.3369
predicted_R0.5510
predicted_RBI0.4730
predicted_SLG0.5501
predicted_SO0.7830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17300.20400.1865model_form_blend
predicted_3B0.00700.00400.0057model_form_blend
predicted_AB3.28003.21903.2535model_form_blend
predicted_AVG0.22700.25520.2393model_form_blend
predicted_BB0.42700.37400.4039model_form_blend
predicted_H0.38000.82200.5724model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.15000.24600.1918model_form_blend
predicted_OBP0.31300.33690.3234model_form_blend
predicted_R0.54700.55100.5487model_form_blend
predicted_RBI0.29000.47300.3696model_form_blend
predicted_SLG0.54700.55010.5483model_form_blend
predicted_SO0.94700.78300.8756model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date538
Season rows before report date538
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
H1
2B0
3B0
HR0
R0
RBI2
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_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20261006_LAD@ATL
game_typeph
mlbID571970
noteStruck out for Hernández, T in the 9th.
playerID571970
playerNameMax Muncy
pos3B
startedFalse
startingPositionPH
teamLAD
teamID14
game_date2026-10-06
sl_k_percent25.0
sl_bb_percent11.6
sl_woba0.361
sl_xwoba0.349
sl_xba0.242
sl_xslg0.47
sl_sweet_spot_percent35.8
sl_barrel_batted_rate12.9
sl_hard_hit_percent45.8
sl_exit_velocity_avg89.9
sl_launch_angle_avg17.5
sl_whiff_percent29.2
sl_swing_percent44.9
Enrique Hernández (571771) · BATTER · 2B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 92
All-history rows before 20261007: 92
System season_avg: 0.2230
Data season_avg (2026 season-to-date): 0.2259
Diff (system - data): -0.0029
System opponent_avg: 0.3560

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1080.0000.000Hitting_2B0.0980.000-0.0980.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5414.0004.000Hitting_AB2.5984.0001.4020.000
predicted_AVG0.2230.2500.250Hitting_AVG0.2260.2500.0240.000
predicted_BB0.1620.0000.000Hitting_BB0.2070.000-0.2070.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5681.0001.000Hitting_H0.5871.0000.4130.000
predicted_HR0.1350.0000.000Hitting_HR0.1301.000-0.130-1.000
predicted_OBP0.2700.2500.250Hitting_OBP0.2830.250-0.0330.000
predicted_R0.3510.0000.000Hitting_R0.3911.000-0.391-1.000
predicted_RBI0.3781.0001.000Hitting_RBI0.4352.0000.565-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.4260.2500.250Hitting_SLG0.4141.000-0.164-0.750
predicted_SO0.8111.0001.000Hitting_SO0.8802.0000.120-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_AB: 2.5410 -> 4.0000 (boost 1.4590, better)
Biggest Deboostpredicted_R: 0.3510 -> 0.0000 (deboost -0.3510, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_AB: 2.5410 -> 2.7238 (boost 0.1828, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_SLG: 0.4411 -> 0.4467 (boost 0.0056, 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_scaling74334predicted_RBI: 0.4315 -> 1.0000 (boost 0.5685, better)predicted_BB: 0.1598 -> 0.0000 (deboost -0.1598, worse)AB rounded to 3 (raw=2.72), rates preserved: AVG=0.233 HR/AB=0.057
6consistency_constraints10101-predicted_R: 0.3691 -> 0.0000 (deboost -0.3691, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.2234 (boost 0.2234, better)predicted_RBI: 1.0000 -> 0.4383 (deboost -0.5617, 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_allocation83535predicted_H: 0.8055 -> 1.0000 (boost 0.1945, better)predicted_RBI: 0.4383 -> 0.0000 (deboost -0.4383, 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 club run ratio within 2% of 1.0; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
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_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": "571771",
  "player_name": "Enrique Hernández",
  "position": "2B",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.108,
        "predicted_3B": 0.0,
        "predicted_AB": 2.541,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.162,
        "predicted_H": 0.568,
        "predicted_HR": 0.135,
        "predicted_OBP": 0.27,
        "predicted_R": 0.351,
        "predicted_RBI": 0.378,
        "predicted_SLG": 0.426,
        "predicted_SO": 0.811
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1187,
        "predicted_3B": 0.0011,
        "predicted_AB": 2.7238,
        "predicted_AVG": 0.2271,
        "predicted_BB": 0.1582,
        "predicted_H": 0.6204,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1545,
        "predicted_OBP": 0.2708,
        "predicted_R": 0.359,
        "predicted_RBI": 0.4197,
        "predicted_SLG": 0.4411,
        "predicted_SO": 0.8206
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.541,
          "after": 2.7238,
          "delta": 0.1828,
          "percent_delta": 0.0719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.568,
          "after": 0.6204,
          "delta": 0.0524,
          "percent_delta": 0.0923,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.426,
          "after": 0.4411,
          "delta": 0.0151,
          "percent_delta": 0.0354,
          "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": 2.541,
          "after": 2.7238,
          "delta": 0.1828,
          "percent_delta": 0.0719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 37
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1187,
        "predicted_3B": 0.0011,
        "predicted_AB": 2.7238,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.1598,
        "predicted_H": 0.6293,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1555,
        "predicted_OBP": 0.2737,
        "predicted_R": 0.3691,
        "predicted_RBI": 0.4315,
        "predicted_SLG": 0.4467,
        "predicted_SO": 0.8123
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.4411,
          "after": 0.4467,
          "delta": 0.0056,
          "percent_delta": 0.0127,
          "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_SLG",
          "before": 0.4411,
          "after": 0.4467,
          "delta": 0.0056,
          "percent_delta": 0.0127,
          "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 3 (raw=2.72), rates preserved: AVG=0.233 HR/AB=0.057",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1187,
          "after": 0.0,
          "delta": -0.1187,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.7238,
          "after": 3.0,
          "delta": 0.2762,
          "percent_delta": 0.1014,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1598,
          "after": 0.0,
          "delta": -0.1598,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6293,
          "after": 1.0,
          "delta": 0.3707,
          "percent_delta": 0.5891,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1555,
          "after": 0.0,
          "delta": -0.1555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4315,
          "after": 1.0,
          "delta": 0.5685,
          "percent_delta": 1.3175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8123,
          "after": 1.0,
          "delta": 0.1877,
          "percent_delta": 0.2311,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4315,
          "after": 1.0,
          "delta": 0.5685,
          "percent_delta": 1.3175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1598,
          "after": 0.0,
          "delta": -0.1598,
          "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.3691,
          "after": 0.0,
          "delta": -0.3691,
          "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.3691,
          "after": 0.0,
          "delta": -0.3691,
          "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.1363,
        "predicted_3B": 0.0095,
        "predicted_BB": 0.2234,
        "predicted_H": 0.8055,
        "predicted_HR": 0.1373,
        "predicted_RBI": 0.4383,
        "predicted_SO": 0.9796
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1363,
          "delta": 0.1363,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2234,
          "delta": 0.2234,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8055,
          "delta": -0.1945,
          "percent_delta": -0.1945,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1373,
          "delta": 0.1373,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4383,
          "delta": -0.5617,
          "percent_delta": -0.5617,
          "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.2234,
          "delta": 0.2234,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4383,
          "delta": -0.5617,
          "percent_delta": -0.5617,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.422,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1363,
          "after": 0.0,
          "delta": -0.1363,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.247,
          "delta": 0.016,
          "percent_delta": 0.0693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2234,
          "after": 0.0,
          "delta": -0.2234,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8055,
          "after": 1.0,
          "delta": 0.1945,
          "percent_delta": 0.2415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1373,
          "after": 0.0,
          "delta": -0.1373,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2737,
          "after": 0.301,
          "delta": 0.0273,
          "percent_delta": 0.0997,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4383,
          "after": 0.0,
          "delta": -0.4383,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4467,
          "after": 0.422,
          "delta": -0.0247,
          "percent_delta": -0.0553,
          "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_H",
          "before": 0.8055,
          "after": 1.0,
          "delta": 0.1945,
          "percent_delta": 0.2415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4383,
          "after": 0.0,
          "delta": -0.4383,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.422,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.422,
        "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": "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": 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_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": 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.247,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.422,
        "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.108,
        "after": 0.0,
        "delta": -0.108,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.541,
        "after": 4.0,
        "delta": 1.459,
        "percent_delta": 0.5742,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.247,
        "delta": 0.024,
        "percent_delta": 0.1076,
        "direction": "boost",
        "projection_effect": "better",
        "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.568,
        "after": 1.0,
        "delta": 0.432,
        "percent_delta": 0.7606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.135,
        "after": 0.0,
        "delta": -0.135,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.27,
        "after": 0.301,
        "delta": 0.031,
        "percent_delta": 0.1148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.351,
        "after": 0.0,
        "delta": -0.351,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.378,
        "after": 1.0,
        "delta": 0.622,
        "percent_delta": 1.6455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.811,
        "after": 1.0,
        "delta": 0.189,
        "percent_delta": 0.233,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.541,
        "after": 4.0,
        "delta": 1.459,
        "percent_delta": 0.5742,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.351,
        "after": 0.0,
        "delta": -0.351,
        "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.108-
predicted_3B0.000-
predicted_AB2.541-
predicted_AVG0.223-
predicted_BB0.162-
predicted_H0.568-
predicted_HR0.135-
predicted_OBP0.270-
predicted_R0.351-
predicted_RBI0.378-
predicted_SLG0.426-
predicted_SO0.811-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1190.011
predicted_3B0.0010.001
predicted_AB2.7240.183
predicted_AVG0.2270.004
predicted_BB0.158-0.004
predicted_H0.6200.052
predicted_HBP0.006-
predicted_HR0.1540.019
predicted_OBP0.2710.001
predicted_R0.3590.008
predicted_RBI0.4200.042
predicted_SLG0.4410.015
predicted_SO0.8210.010
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1190.000
predicted_3B0.0010.000
predicted_AB2.7240.000
predicted_AVG0.2310.004
predicted_BB0.1600.002
predicted_H0.6290.009
predicted_HBP0.0060.000
predicted_HR0.1550.001
predicted_OBP0.2740.003
predicted_R0.3690.010
predicted_RBI0.4310.012
predicted_SLG0.4470.006
predicted_SO0.812-0.008
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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.1360.136
3B0.0090.009
BB0.2230.223
H0.805-0.195
HR0.1370.137
RBI0.438-0.562
SO0.980-0.020
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.136
3B0.000-0.009
AB3.0000.000
AVG0.247-
BB0.000-0.223
H1.0000.195
HR0.000-0.137
OBP0.301-
R0.0000.000
RBI0.000-0.438
SLG0.422-
SO1.0000.020
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.119
predicted_3B0.000-0.001
predicted_AB3.0000.276
predicted_AVG0.2470.016
predicted_BB0.000-0.160
predicted_H1.0000.371
predicted_HR0.000-0.155
predicted_OBP0.3010.027
predicted_R0.000-0.369
predicted_RBI0.000-0.431
predicted_SLG0.422-0.025
predicted_SO1.0000.188
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2470.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3010.000
R0.0000.000
RBI0.0000.000
SLG0.4220.000
SO1.0000.000
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
AB4.0001.000
BB0.0000.000
H1.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
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: 37
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.0004.0001.0000.0002.0004.0002.0000.0004.0000.25000.25000.68750.25000.12500.25000.00000.2500
last_100.2010-31.0007.0001.0000.0002.0005.0002.0001.0008.0000.22580.25000.45160.22580.06450.16130.03230.2581
season0.6037-94.00021.0004.0000.0005.00014.00013.0006.00030.0000.22340.27000.42550.22340.05320.14890.06380.3191
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1360
predicted_3B0.0030
predicted_AB3.0190
predicted_AVG0.2336
predicted_BB0.1520
predicted_H0.7050
predicted_HBP0.0060
predicted_HR0.1860
predicted_OBP0.2720
predicted_R0.3720
predicted_RBI0.4870
predicted_SLG0.4656
predicted_SO0.8360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10800.13600.1187model_form_blend
predicted_3B0.00000.00300.0011model_form_blend
predicted_AB2.54103.01902.7238model_form_blend
predicted_AVG0.22300.23360.2271model_form_blend
predicted_BB0.16200.15200.1582model_form_blend
predicted_H0.56800.70500.6204model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.13500.18600.1545model_form_blend
predicted_OBP0.27000.27200.2708model_form_blend
predicted_R0.35100.37200.3590model_form_blend
predicted_RBI0.37800.48700.4197model_form_blend
predicted_SLG0.42600.46560.4411model_form_blend
predicted_SO0.81100.83600.8206model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB4
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261006_LAD@ATL
game_typefull
mlbID571771
playerID571771
playerNameEnrique Hernández
pos3B
startedTrue
startingPosition3B
teamLAD
teamID14
game_date2026-10-06
sl_k_percent29.2
sl_bb_percent6.3
sl_woba0.293
sl_xwoba0.279
sl_xba0.22
sl_xslg0.367
sl_sweet_spot_percent27.4
sl_barrel_batted_rate8.1
sl_hard_hit_percent40.3
sl_exit_velocity_avg89.0
sl_launch_angle_avg10.9
sl_whiff_percent25.0
sl_swing_percent52.6
Kyle Tucker (663656) · BATTER · RF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 601
All-history rows before 20261007: 601
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2395
Diff (system - data): -0.0035
System opponent_avg: 0.0710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1500.0000.000Hitting_2B0.1680.000-0.1680.000
predicted_3B0.0260.0000.000Hitting_3B0.0300.000-0.0300.000
predicted_AB4.0304.0004.000Hitting_AB3.6964.0000.3040.000
predicted_AVG0.2270.2500.250Hitting_AVG0.2400.2500.0100.000
predicted_BB0.4770.0000.000Hitting_BB0.5210.000-0.5210.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9101.0001.000Hitting_H0.8851.0000.1150.000
predicted_HR0.1500.0000.000Hitting_HR0.1210.000-0.1210.000
predicted_OBP0.3080.2500.250Hitting_OBP0.3330.250-0.0830.000
predicted_R0.5880.0000.000Hitting_R0.6310.000-0.6310.000
predicted_RBI0.4200.0000.000Hitting_RBI0.5140.000-0.5140.000
predicted_SLG0.3890.2500.250Hitting_SLG0.4000.250-0.1500.000
predicted_SO0.6990.0000.000Hitting_SO0.7241.000-0.724-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_H: 0.9100 -> 1.0000 (boost 0.0900, better)
Biggest Deboostpredicted_SO: 0.6990 -> 0.0000 (deboost -0.6990, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.2270 -> 0.2370 (boost 0.0100, better)predicted_AB: 4.0300 -> 3.8815 (deboost -0.1485, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.6950 -> 1.0000 (boost 0.3050, worse)predicted_AB: 3.8815 -> 3.0000 (deboost -0.8815, worse)AB rounded to 3 (raw=4.03), rates preserved: AVG=0.232 HR/AB=0.035
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.5798 -> 1.0000 (boost 0.4202, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4086 (boost 0.4086, better)predicted_SO: 1.0000 -> 0.6588 (deboost -0.3412, 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_allocation80817-predicted_H: 0.7940 -> 0.0000 (deboost -0.7940, 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 club run ratio within 2% of 1.0; 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_realization32121predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final22020predicted_OBP: 0.3100 -> 0.3220 (boost 0.0120, 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": "663656",
  "player_name": "Kyle Tucker",
  "position": "RF",
  "team": "LAD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.15,
        "predicted_3B": 0.026,
        "predicted_AB": 4.03,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.477,
        "predicted_H": 0.91,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.308,
        "predicted_R": 0.588,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.699
      },
      "changed_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.1269,
        "predicted_3B": 0.0216,
        "predicted_AB": 3.8815,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.4207,
        "predicted_H": 0.9157,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1413,
        "predicted_OBP": 0.3108,
        "predicted_R": 0.564,
        "predicted_RBI": 0.4148,
        "predicted_SLG": 0.3896,
        "predicted_SO": 0.7021
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.03,
          "after": 3.8815,
          "delta": -0.1485,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.237,
          "delta": 0.01,
          "percent_delta": 0.0441,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.477,
          "after": 0.4207,
          "delta": -0.0563,
          "percent_delta": -0.118,
          "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.227,
          "after": 0.237,
          "delta": 0.01,
          "percent_delta": 0.0441,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.03,
          "after": 3.8815,
          "delta": -0.1485,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 153
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1269,
        "predicted_3B": 0.0216,
        "predicted_AB": 3.8815,
        "predicted_AVG": 0.2393,
        "predicted_BB": 0.4249,
        "predicted_H": 0.9289,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1422,
        "predicted_OBP": 0.3144,
        "predicted_R": 0.5798,
        "predicted_RBI": 0.4265,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.695
      },
      "changed_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=4.03), rates preserved: AVG=0.232 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.1269,
          "after": 0.0,
          "delta": -0.1269,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8815,
          "after": 3.0,
          "delta": -0.8815,
          "percent_delta": -0.2271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4249,
          "after": 0.0,
          "delta": -0.4249,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9289,
          "after": 1.0,
          "delta": 0.0711,
          "percent_delta": 0.0765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1422,
          "after": 0.0,
          "delta": -0.1422,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4265,
          "after": 0.0,
          "delta": -0.4265,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.695,
          "after": 1.0,
          "delta": 0.305,
          "percent_delta": 0.4388,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.695,
          "after": 1.0,
          "delta": 0.305,
          "percent_delta": 0.4388,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.8815,
          "after": 3.0,
          "delta": -0.8815,
          "percent_delta": -0.2271,
          "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": 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.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": 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.5798,
          "after": 1.0,
          "delta": 0.4202,
          "percent_delta": 0.7247,
          "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.5798,
          "after": 1.0,
          "delta": 0.4202,
          "percent_delta": 0.7247,
          "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.1401,
        "predicted_3B": 0.0142,
        "predicted_BB": 0.38,
        "predicted_H": 0.794,
        "predicted_HR": 0.115,
        "predicted_RBI": 0.4086,
        "predicted_SO": 0.6588
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1401,
          "delta": 0.1401,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.38,
          "delta": 0.38,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.794,
          "delta": -0.206,
          "percent_delta": -0.206,
          "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": 0.0,
          "after": 0.4086,
          "delta": 0.4086,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6588,
          "delta": -0.3412,
          "percent_delta": -0.3412,
          "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.4086,
          "delta": 0.4086,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6588,
          "delta": -0.3412,
          "percent_delta": -0.3412,
          "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": 3.0,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1401,
          "after": 0.0,
          "delta": -0.1401,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2393,
          "after": 0.228,
          "delta": -0.0113,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.38,
          "after": 0.0,
          "delta": -0.38,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.794,
          "after": 0.0,
          "delta": -0.794,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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_RBI",
          "before": 0.4086,
          "after": 0.0,
          "delta": -0.4086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.376,
          "delta": -0.017,
          "percent_delta": -0.0433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6588,
          "after": 0.0,
          "delta": -0.6588,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 0,
        "deboosted_metrics": 8,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.794,
          "after": 0.0,
          "delta": -0.794,
          "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "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": 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": 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_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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 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": 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": 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": 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.227,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.381,
        "predicted_SO": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.322,
          "delta": 0.012,
          "percent_delta": 0.0387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.381,
          "delta": 0.005,
          "percent_delta": 0.0133,
          "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.31,
          "after": 0.322,
          "delta": 0.012,
          "percent_delta": 0.0387,
          "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.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.477,
        "after": 0.0,
        "delta": -0.477,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.308,
        "after": 0.322,
        "delta": 0.014,
        "percent_delta": 0.0455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.588,
        "after": 0.0,
        "delta": -0.588,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.381,
        "delta": -0.008,
        "percent_delta": -0.0206,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.699,
        "after": 0.0,
        "delta": -0.699,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.699,
        "after": 0.0,
        "delta": -0.699,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.150-
predicted_3B0.026-
predicted_AB4.030-
predicted_AVG0.227-
predicted_BB0.477-
predicted_H0.910-
predicted_HR0.150-
predicted_OBP0.308-
predicted_R0.588-
predicted_RBI0.420-
predicted_SLG0.389-
predicted_SO0.699-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.127-0.023
predicted_3B0.022-0.004
predicted_AB3.881-0.149
predicted_AVG0.2370.010
predicted_BB0.421-0.056
predicted_H0.9160.006
predicted_HBP0.013-
predicted_HR0.141-0.009
predicted_OBP0.3110.003
predicted_R0.564-0.024
predicted_RBI0.415-0.005
predicted_SLG0.3900.001
predicted_SO0.7020.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.1270.000
predicted_3B0.0220.000
predicted_AB3.8810.000
predicted_AVG0.2390.002
predicted_BB0.4250.004
predicted_H0.9290.013
predicted_HBP0.0130.000
predicted_HR0.1420.001
predicted_OBP0.3140.004
predicted_R0.5800.016
predicted_RBI0.4260.012
predicted_SLG0.3930.003
predicted_SO0.695-0.007
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=4.03), rates preserved: AVG=0.232 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=7.0, weight=0.076, BvP AVG=0.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
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.1400.140
3B0.0140.014
BB0.3800.380
H0.794-0.206
HR0.1150.115
RBI0.4090.409
SO0.659-0.341
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.140
3B0.000-0.014
AB3.0000.000
AVG0.228-
BB0.000-0.380
H0.000-0.794
HR0.000-0.115
OBP0.310-
R1.0000.000
RBI0.000-0.409
SLG0.376-
SO0.000-0.659
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.127
predicted_3B0.000-0.022
predicted_AB3.000-0.881
predicted_AVG0.228-0.011
predicted_BB0.000-0.425
predicted_H0.000-0.929
predicted_HR0.000-0.142
predicted_OBP0.310-0.004
predicted_R1.0000.420
predicted_RBI0.000-0.426
predicted_SLG0.376-0.017
predicted_SO0.000-0.695
11. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2280.000
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.3100.000
R1.0000.000
RBI0.0000.000
SLG0.3760.000
SO0.0000.000
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
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SF0.0000.000
SO0.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
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: 153
Reference playing time: 4.030
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0006.0000.0000.0001.0002.0003.0001.0004.0000.30000.33330.45000.30000.05000.10000.05000.2000
last_100.2010-37.0009.0000.0000.0001.0002.0003.0001.0006.0000.24320.26320.32430.24320.02700.05410.02700.1622
season0.60153-547.000129.00023.0004.00018.00072.00090.00073.000107.0000.23580.32590.39120.23580.03290.13160.13350.1956
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0970
predicted_3B0.0160
predicted_AB3.6900
predicted_AVG0.2500
predicted_BB0.3480
predicted_H0.9230
predicted_HBP0.0130
predicted_HR0.1300
predicted_OBP0.3144
predicted_R0.5330
predicted_RBI0.4080
predicted_SLG0.3904
predicted_SO0.7060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15000.09700.1269model_form_blend
predicted_3B0.02600.01600.0216model_form_blend
predicted_AB4.03003.69003.8815model_form_blend
predicted_AVG0.22700.25000.2370model_form_blend
predicted_BB0.47700.34800.4207model_form_blend
predicted_H0.91000.92300.9157model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.15000.13000.1413model_form_blend
predicted_OBP0.30800.31440.3108model_form_blend
predicted_R0.58800.53300.5640model_form_blend
predicted_RBI0.42000.40800.4148model_form_blend
predicted_SLG0.38900.39040.3896model_form_blend
predicted_SO0.69900.70600.7021model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
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_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayedRF
gameID20261006_LAD@ATL
game_typefull
mlbID663656
playerID663656
playerNameKyle Tucker
posRF
startedTrue
startingPositionRF
teamLAD
teamID14
game_date2026-10-06
sl_k_percent16.7
sl_bb_percent12.4
sl_woba0.318
sl_xwoba0.331
sl_xba0.256
sl_xslg0.393
sl_sweet_spot_percent34.2
sl_barrel_batted_rate6.4
sl_hard_hit_percent36.3
sl_exit_velocity_avg88.5
sl_launch_angle_avg18.1
sl_whiff_percent20.8
sl_swing_percent48.5
Andy Pages (681624) · BATTER · CF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 560
All-history rows before 20261007: 560
System season_avg: 0.2720
Data season_avg (2026 season-to-date): 0.2753
Diff (system - data): -0.0033
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.1850.0000.000Hitting_2B0.1980.000-0.1980.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB4.5604.0004.000Hitting_AB3.9574.0000.0430.000
predicted_AVG0.2450.0000.000Hitting_AVG0.2750.500-0.275-0.500
predicted_BB0.3700.0000.000Hitting_BB0.3800.000-0.3800.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H1.1200.0000.000Hitting_H1.0892.000-1.089-2.000
predicted_HR0.1900.0000.000Hitting_HR0.1730.000-0.1730.000
predicted_OBP0.3290.0000.000Hitting_OBP0.3420.500-0.342-0.500
predicted_R0.5630.0000.000Hitting_R0.6251.000-0.625-1.000
predicted_RBI0.6400.0000.000Hitting_RBI0.6520.000-0.6520.000
predicted_SLG0.4240.0000.000Hitting_SLG0.4660.500-0.466-0.500
predicted_SO0.8590.0000.000Hitting_SO0.8431.000-0.843-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AVG: 0.2450 -> 0.2550 (boost 0.0100, better)
Biggest Deboostpredicted_H: 1.1200 -> 0.0000 (deboost -1.1200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_SO: 0.8590 -> 0.9609 (boost 0.1019, worse)predicted_AB: 4.5600 -> 4.1387 (deboost -0.4213, 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.3333 -> 0.3185 (deboost -0.0148, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_AB: 4.1387 -> 3.0000 (deboost -1.1387, worse)AB rounded to 3 (raw=4.56), rates preserved: AVG=0.230 HR/AB=0.041
6consistency_constraints11010predicted_R: 0.5484 -> 1.0000 (boost 0.4516, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4949 (boost 0.4949, better)predicted_SO: 1.0000 -> 0.7307 (deboost -0.2693, 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_allocation85344predicted_RBI: 0.4949 -> 1.0000 (boost 0.5051, better)predicted_BB: 0.2599 -> 0.0000 (deboost -0.2599, 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 club run ratio within 2% of 1.0; 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_realization51423predicted_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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final31212predicted_OBP: 0.3220 -> 0.3300 (boost 0.0080, better)predicted_SLG: 0.4410 -> 0.4310 (deboost -0.0100, 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": "681624",
  "player_name": "Andy Pages",
  "position": "CF",
  "team": "LAD",
  "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.015,
        "predicted_AB": 4.56,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.37,
        "predicted_H": 1.12,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.329,
        "predicted_R": 0.563,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.424,
        "predicted_SO": 0.859
      },
      "changed_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.161,
        "predicted_3B": 0.0124,
        "predicted_AB": 4.1387,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.4027,
        "predicted_H": 1.0263,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.187,
        "predicted_OBP": 0.3333,
        "predicted_R": 0.5334,
        "predicted_RBI": 0.6352,
        "predicted_SLG": 0.4333,
        "predicted_SO": 0.9609
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.56,
          "after": 4.1387,
          "delta": -0.4213,
          "percent_delta": -0.0924,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.0263,
          "delta": -0.0937,
          "percent_delta": -0.0837,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4333,
          "delta": 0.0093,
          "percent_delta": 0.0219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.859,
          "after": 0.9609,
          "delta": 0.1019,
          "percent_delta": 0.1186,
          "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.859,
          "after": 0.9609,
          "delta": 0.1019,
          "percent_delta": 0.1186,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.56,
          "after": 4.1387,
          "delta": -0.4213,
          "percent_delta": -0.0924,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 135
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.161,
        "predicted_3B": 0.0124,
        "predicted_AB": 4.1387,
        "predicted_AVG": 0.2515,
        "predicted_BB": 0.4068,
        "predicted_H": 1.0411,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.1882,
        "predicted_OBP": 0.3185,
        "predicted_R": 0.5484,
        "predicted_RBI": 0.653,
        "predicted_SLG": 0.4328,
        "predicted_SO": 0.9512
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3333,
          "after": 0.3185,
          "delta": -0.0148,
          "percent_delta": -0.0444,
          "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.3333,
          "after": 0.3185,
          "delta": -0.0148,
          "percent_delta": -0.0444,
          "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=4.56), rates preserved: AVG=0.230 HR/AB=0.041",
      "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.161,
          "after": 0.0,
          "delta": -0.161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.1387,
          "after": 3.0,
          "delta": -1.1387,
          "percent_delta": -0.2751,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4068,
          "after": 0.0,
          "delta": -0.4068,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.075,
          "after": 0.0,
          "delta": -0.075,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1882,
          "after": 0.0,
          "delta": -0.1882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.653,
          "after": 0.0,
          "delta": -0.653,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.1387,
          "after": 3.0,
          "delta": -1.1387,
          "percent_delta": -0.2751,
          "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.5484,
          "after": 1.0,
          "delta": 0.4516,
          "percent_delta": 0.8235,
          "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.5484,
          "after": 1.0,
          "delta": 0.4516,
          "percent_delta": 0.8235,
          "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.1406,
        "predicted_3B": 0.0104,
        "predicted_BB": 0.2599,
        "predicted_H": 0.8649,
        "predicted_HR": 0.142,
        "predicted_RBI": 0.4949,
        "predicted_SO": 0.7307
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1406,
          "delta": 0.1406,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2599,
          "delta": 0.2599,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8649,
          "delta": -0.1351,
          "percent_delta": -0.1351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.142,
          "delta": 0.142,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4949,
          "delta": 0.4949,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7307,
          "delta": -0.2693,
          "percent_delta": -0.2693,
          "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.4949,
          "delta": 0.4949,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7307,
          "delta": -0.2693,
          "percent_delta": -0.2693,
          "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.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.441,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1406,
          "after": 0.0,
          "delta": -0.1406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2515,
          "after": 0.263,
          "delta": 0.0115,
          "percent_delta": 0.0457,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2599,
          "after": 0.0,
          "delta": -0.2599,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8649,
          "after": 1.0,
          "delta": 0.1351,
          "percent_delta": 0.1562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.142,
          "after": 0.0,
          "delta": -0.142,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4949,
          "after": 1.0,
          "delta": 0.5051,
          "percent_delta": 1.0206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4328,
          "after": 0.441,
          "delta": 0.0082,
          "percent_delta": 0.0189,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7307,
          "after": 1.0,
          "delta": 0.2693,
          "percent_delta": 0.3686,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4949,
          "after": 1.0,
          "delta": 0.5051,
          "percent_delta": 1.0206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2599,
          "after": 0.0,
          "delta": -0.2599,
          "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.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.441,
        "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 club run ratio within 2% of 1.0; lineup line unchanged",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.441,
        "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": "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": 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_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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "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_H",
          "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": 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": 4.0,
        "predicted_AVG": 0.255,
        "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.33,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.255,
          "delta": -0.008,
          "percent_delta": -0.0304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.33,
          "delta": 0.008,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.441,
          "after": 0.431,
          "delta": -0.01,
          "percent_delta": -0.0227,
          "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_OBP",
          "before": 0.322,
          "after": 0.33,
          "delta": 0.008,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.441,
          "after": 0.431,
          "delta": -0.01,
          "percent_delta": -0.0227,
          "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.185,
        "after": 0.0,
        "delta": -0.185,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.56,
        "after": 4.0,
        "delta": -0.56,
        "percent_delta": -0.1228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.255,
        "delta": 0.01,
        "percent_delta": 0.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.12,
        "after": 0.0,
        "delta": -1.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.075,
        "after": 0.0,
        "delta": -0.075,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.563,
        "after": 0.0,
        "delta": -0.563,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.424,
        "after": 0.431,
        "delta": 0.007,
        "percent_delta": 0.0165,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.859,
        "after": 0.0,
        "delta": -0.859,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.255,
        "delta": 0.01,
        "percent_delta": 0.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.12,
        "after": 0.0,
        "delta": -1.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.185-
predicted_3B0.015-
predicted_AB4.560-
predicted_AVG0.245-
predicted_BB0.370-
predicted_H1.120-
predicted_HR0.190-
predicted_OBP0.329-
predicted_R0.563-
predicted_RBI0.640-
predicted_SLG0.424-
predicted_SO0.859-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.161-0.024
predicted_3B0.012-0.003
predicted_AB4.139-0.421
predicted_AVG0.2480.003
predicted_BB0.4030.033
predicted_H1.026-0.094
predicted_HBP0.075-
predicted_HR0.187-0.003
predicted_OBP0.3330.004
predicted_R0.533-0.030
predicted_RBI0.635-0.005
predicted_SLG0.4330.009
predicted_SO0.9610.102
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1610.000
predicted_3B0.0120.000
predicted_AB4.1390.000
predicted_AVG0.2520.004
predicted_BB0.4070.004
predicted_H1.0410.015
predicted_HBP0.0750.000
predicted_HR0.1880.001
predicted_OBP0.319-0.015
predicted_R0.5480.015
predicted_RBI0.6530.018
predicted_SLG0.433-0.001
predicted_SO0.951-0.010
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=4.56), rates preserved: AVG=0.230 HR/AB=0.041

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.1410.141
3B0.0100.010
BB0.2600.260
H0.865-0.135
HR0.1420.142
RBI0.4950.495
SO0.731-0.269
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.141
3B0.000-0.010
AB3.0000.000
AVG0.263-
BB0.000-0.260
H1.0000.135
HR0.000-0.142
OBP0.322-
R1.0000.000
RBI1.0000.505
SLG0.441-
SO1.0000.269
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.161
predicted_3B0.000-0.012
predicted_AB3.000-1.139
predicted_AVG0.2630.012
predicted_BB0.000-0.407
predicted_H1.000-0.041
predicted_HR0.000-0.188
predicted_OBP0.3220.004
predicted_R1.0000.452
predicted_RBI1.0000.347
predicted_SLG0.4410.008
predicted_SO1.0000.049
10. kpi_run_environment

KPI club run ratio within 2% of 1.0; lineup line unchanged

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2630.000
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3220.000
R1.0000.000
RBI1.0000.000
SLG0.4410.000
SO1.0000.000
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.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.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
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: 135
Reference playing time: 4.560
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.0001.0004.0002.0003.0008.0000.17650.28570.35290.17650.05880.23530.17650.4706
last_100.2010-30.0008.0001.0000.0002.0005.0004.0005.00012.0000.26670.39470.50000.26670.06670.16670.16670.4000
season0.60135-518.000141.00025.0002.00023.00084.00076.00050.000116.0000.27220.34080.46140.27220.04440.16220.09650.2239
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1300
predicted_3B0.0090
predicted_AB3.5930
predicted_AVG0.2518
predicted_BB0.4450
predicted_H0.9050
predicted_HBP0.0750
predicted_HR0.1830
predicted_OBP0.3388
predicted_R0.4950
predicted_RBI0.6290
predicted_SLG0.4454
predicted_SO1.0930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18500.13000.1610model_form_blend
predicted_3B0.01500.00900.0124model_form_blend
predicted_AB4.56003.59304.1387model_form_blend
predicted_AVG0.24500.25180.2480model_form_blend
predicted_BB0.37000.44500.4027model_form_blend
predicted_H1.12000.90501.0263model_form_blend
predicted_HBP-0.07500.0750form_only
predicted_HR0.19000.18300.1870model_form_blend
predicted_OBP0.32900.33880.3333model_form_blend
predicted_R0.56300.49500.5334model_form_blend
predicted_RBI0.64000.62900.6352model_form_blend
predicted_SLG0.42400.44540.4333model_form_blend
predicted_SO0.85901.09300.9609model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
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.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261006_LAD@ATL
game_typefull
mlbID681624
playerID681624
playerNameAndy Pages
posCF
startedTrue
startingPositionCF
teamLAD
teamID14
game_date2026-10-06
sl_k_percent19.7
sl_bb_percent8.5
sl_woba0.352
sl_xwoba0.343
sl_xba0.274
sl_xslg0.442
sl_sweet_spot_percent37.4
sl_barrel_batted_rate7.9
sl_hard_hit_percent42.3
sl_exit_velocity_avg88.9
sl_launch_angle_avg15.7
sl_whiff_percent22.1
sl_swing_percent47.2
Tyler Glasnow (607192) · PITCHER · Starter · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 13
All-history rows before 20261007: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.9232.000-1.923-2.000
predicted_ER2.0002.0002.000Pitching_ER2.2313.000-0.231-1.000
predicted_H4.0004.0004.000Pitching_H3.4623.0000.5381.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.6386.100-0.538-1.000
predicted_SO5.0005.0005.000Pitching_SO7.53811.000-2.538-6.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics1
Deboosted Metrics4
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_HR: 0.0000 -> 2.0000 (boost 2.0000, worse)
Biggest Deboostpredicted_BB: 4.0000 -> 0.0000 (deboost -4.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, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend published; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail11010predicted_SO: 6.0000 -> 7.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_realization51423predicted_HR: 0.0000 -> 2.0000 (boost 2.0000, worse)predicted_BB: 4.0000 -> 0.0000 (deboost -4.0000, better)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": "607192",
  "player_name": "Tyler Glasnow",
  "position": "Starter",
  "team": "LAD",
  "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": 4.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": 4.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 7.0,
          "delta": 1.0,
          "percent_delta": 0.1667,
          "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": 6.0,
          "after": 7.0,
          "delta": 1.0,
          "percent_delta": 0.1667,
          "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": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 2.0,
        "predicted_IP": 5.1,
        "predicted_R": 2.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 0.0,
          "delta": -4.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.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": 5.0,
          "delta": -2.0,
          "percent_delta": -0.2857,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 0.0,
          "delta": -4.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "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": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 2.0,
        "predicted_IP": 5.1,
        "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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 4.0,
        "after": 0.0,
        "delta": -4.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 2.0,
        "delta": -1.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.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": 6.0,
        "after": 5.0,
        "delta": -1.0,
        "percent_delta": -0.1667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 1,
      "deboosted_metrics": 4,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 4.0,
        "after": 0.0,
        "delta": -4.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_BB4.000-
predicted_ER3.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP6.000-
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 published; 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_BB4.0000.000
predicted_ER3.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO7.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
BB0.000-
BF20.000-
ER2.000-
H4.000-
HR2.000-
IP5.100-
Pitches94.000-
R2.000-
SO5.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 13
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45529.10014.00019.00012.00042.0002.0004.29551.05680.47730.64770.40911.43180.0682
last_100.351056.00021.00032.00021.00076.0005.0003.37500.94640.37500.57140.37501.35710.0893
season0.201374.00029.00045.00025.00098.0007.0003.52700.94590.39190.60810.33781.32430.0946
Weighted Prediction From Real Data
MetricValue
predicted_BB2.2420
predicted_ER2.6360
predicted_ERA4.0432
predicted_H4.2040
predicted_HR0.5840
predicted_IP6.0000
predicted_SO7.3880
predicted_WHIP1.0987
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB4.00002.24203.0636model_form_blend
predicted_ER3.00002.63602.8061model_form_blend
predicted_ERA-4.04324.0432form_only
predicted_H4.00004.20404.1087model_form_blend
predicted_HR0.00000.58400.3111model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO6.00007.38806.7393model_form_blend
predicted_WHIP-1.09871.0987form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H4
R2
ER2
BB0
SO5
HR2
BF20
Pitches94

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced24
Pitching_ER3
Pitching_ERA3.53
Pitching_Flyouts4
Pitching_Groundouts3
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.1
Pitching_Pitches91
Pitching_R3
Pitching_SO11
Pitching_Strikes58
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260924_SD@LAD
game_typefull
mlbID607192
playerID607192
playerNameTyler Glasnow
posP
startedTrue
startingPositionP
teamLAD
teamID14
game_date2026-09-24
sl_k_percent34.0
sl_bb_percent8.7
sl_woba0.245
sl_xwoba0.263
sl_sweet_spot_percent32.3
sl_barrel_batted_rate8.5
sl_hard_hit_percent38.4
sl_whiff_percent32.1
sl_swing_percent42.3
sl_avg_best_speed80.944570988
sl_avg_hyper_speed93.941386111
Alex Vesia (681911) · PITCHER · Middle Reliever · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 73
All-history rows before 20261007: 73

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4380.000-0.4380.000
predicted_ER0.0000.0000.000Pitching_ER0.2330.000-0.2330.000
predicted_H0.0000.0000.000Pitching_H0.4110.000-0.4110.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6641.0000.3360.000
predicted_SO1.0001.0001.000Pitching_SO1.0271.000-0.0270.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization00000--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": "681911",
  "player_name": "Alex Vesia",
  "position": "Middle Reliever",
  "team": "LAD",
  "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 published; 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.0,
        "predicted_R": 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": 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.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": [],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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 published; 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-
BF3.000-
ER0.000-
H0.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: 73
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0000.0001.0008.0000.0000.00000.20000.00000.00000.20001.60000.0000
last_100.35109.0000.0002.0001.00013.0000.0000.00000.33330.00000.22220.11111.44440.0000
season0.207359.00017.00030.00032.00075.0004.0002.59321.05080.28810.50850.54241.27120.0678
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2660
predicted_ER0.1810
predicted_ERA1.7135
predicted_H0.3940
predicted_HR0.0500
predicted_IP1.0000
predicted_SO1.2590
predicted_WHIP0.6929
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26600.1402model_form_blend
predicted_ER0.00000.18100.0954model_form_blend
predicted_ERA-1.71351.7135form_only
predicted_H0.00000.39400.2077model_form_blend
predicted_HR0.00000.05000.0264model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.25901.1365model_form_blend
predicted_WHIP-0.69290.6929form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
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_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261003_ATL@LAD
game_typefull
mlbID681911
playerID681911
playerNameAlex Vesia
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-10-03
sl_k_percent31.2
sl_bb_percent13.5
sl_woba0.233
sl_xwoba0.254
sl_sweet_spot_percent29.0
sl_barrel_batted_rate6.1
sl_hard_hit_percent33.6
sl_whiff_percent33.6
sl_swing_percent48.3
sl_avg_best_speed77.487421364
sl_avg_hyper_speed92.757592977
Roki Sasaki (808963) · PITCHER · Middle Reliever · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 27
All-history rows before 20261007: 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.8522.000-1.852-2.000
predicted_ER1.0001.0001.000Pitching_ER2.2590.000-1.2591.000
predicted_H1.0001.0001.000Pitching_H4.1850.000-3.1851.000
predicted_IP1.1001.1001.100Pitching_InningsPitched4.5192.000-3.419-0.900
predicted_SO2.0002.0002.000Pitching_SO4.5931.000-2.5931.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics1
Deboosted Metrics2
Better Metrics2
Worse Metrics1
Biggest Boostpredicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better)
Biggest Deboostpredicted_HR: 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization31221predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better)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
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": "808963",
  "player_name": "Roki Sasaki",
  "position": "Middle Reliever",
  "team": "LAD",
  "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": 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 published; 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.1,
        "predicted_R": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "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": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 1,
      "deboosted_metrics": 2,
      "better_metrics": 2,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "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_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 published; 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-
ER1.000-
H1.000-
HR0.000-
IP1.100-
Pitches24.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: 27
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.1004.0008.0004.00010.0001.0004.32001.44000.48000.96000.48001.20000.1200
last_100.351037.20013.00031.00016.00039.0003.0003.10621.24780.34510.82300.42481.03540.0796
season0.2027124.10061.000113.00050.000124.00022.0004.41551.31100.49060.90890.40210.99730.1769
Weighted Prediction From Real Data
MetricValue
predicted_BB1.1790
predicted_ER1.2130
predicted_ERA4.0252
predicted_H2.4810
predicted_HR0.3310
predicted_IP2.2000
predicted_SO2.9170
predicted_WHIP1.3499
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.17900.6885model_form_blend
predicted_ER1.00001.21301.1244model_form_blend
predicted_ERA-4.02524.0252form_only
predicted_H1.00002.48101.8649model_form_blend
predicted_HR1.00000.33100.6093model_form_blend
predicted_IP1.10002.20002.1000model_form_blend
predicted_SO1.00002.91702.1195model_form_blend
predicted_WHIP-1.34991.3499form_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.1
H1
R1
ER1
BB0
SO2
HR0
BF5
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced8
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts4
Pitching_H0
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches36
Pitching_R0
Pitching_SO1
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20261004_ATL@LAD
game_typefull
mlbID808963
playerID808963
playerNameRoki Sasaki
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-10-04
sl_k_percent23.6
sl_bb_percent9.2
sl_woba0.339
sl_xwoba0.318
sl_sweet_spot_percent35.3
sl_barrel_batted_rate9.8
sl_hard_hit_percent42.8
sl_whiff_percent29.7
sl_swing_percent50.1
sl_avg_best_speed78.907905814
sl_avg_hyper_speed94.430844694
Brock Stewart (592779) · PITCHER · Middle Reliever (High Leverage) · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 30
All-history rows before 20261007: 30

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3330.0000.6671.000
predicted_ER1.0001.0001.000Pitching_ER0.2670.0000.7331.000
predicted_H2.0002.0002.000Pitching_H0.5670.0001.4332.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8400.1000.2601.000
predicted_SO4.0004.0004.000Pitching_SO0.8670.0003.1334.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics5
Deboosted Metrics0
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_SO: 0.0000 -> 4.0000 (boost 4.0000, 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization55023predicted_SO: 0.0000 -> 4.0000 (boost 4.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": "592779",
  "player_name": "Brock Stewart",
  "position": "Middle Reliever (High Leverage)",
  "team": "LAD",
  "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": 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 published; 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": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 1.0,
        "predicted_SO": 4.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_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_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": 4.0,
          "delta": 4.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 4.0,
          "delta": 4.0,
          "percent_delta": null,
          "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": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.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": 0.0,
        "after": 1.0,
        "delta": 1.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": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "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": 4.0,
        "delta": 4.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 5,
      "deboosted_metrics": 0,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 4.0,
        "delta": 4.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "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_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 published; 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-
BF7.000-
ER1.000-
H2.000-
HR0.000-
IP1.100-
Pitches29.000-
R1.000-
SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 29
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.1001.0002.0001.0005.0000.0002.07690.69230.23080.46150.23081.15390.0000
last_100.35109.0003.0007.0002.0008.0000.0003.00001.00000.33330.77780.22220.88890.0000
season0.202928.0007.00016.00010.00026.0002.0002.25000.92860.25000.57140.35710.92860.0714
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2640
predicted_ER0.3240
predicted_ERA3.4501
predicted_H0.6560
predicted_HR0.0650
predicted_IP1.0000
predicted_SO0.8270
predicted_WHIP1.0876
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26400.1199model_form_blend
predicted_ER0.00000.32400.1471model_form_blend
predicted_ERA-3.45013.4501form_only
predicted_H0.00000.65600.2979model_form_blend
predicted_HR0.00000.06500.0295model_form_blend
predicted_IP0.20001.00000.2000model_form_blend
predicted_SO0.00000.82700.3755model_form_blend
predicted_WHIP-1.08761.0876form_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 date30
Season rows before report date30
Report year2026
Profile rows used29
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H2
R1
ER1
BB1
SO4
HR0
BF7
Pitches29

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced1
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches2
Pitching_R0
Pitching_SO0
Pitching_Strikes2
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261004_ATL@LAD
game_typefull
mlbID592779
playerID592779
playerNameBrock Stewart
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-10-04
sl_k_percent24.3
sl_bb_percent9.7
sl_woba0.258
sl_xwoba0.248
sl_sweet_spot_percent23.5
sl_barrel_batted_rate4.4
sl_hard_hit_percent27.9
sl_whiff_percent28.2
sl_swing_percent49.2
sl_avg_best_speed65.876245588
sl_avg_hyper_speed92.388121765

Home Team: ATL

Home Pitcher Deep Analysis

FieldValue
PitcherTyler Mahle
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0461
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0125
Avg Velo89.6403
Avg Spin2134.9981
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER3
Pre H6
Pre BB2
Pre SO4
Season ERA3.8654
Season WHIP1.2244
Role Avg IP5.5710
Recent Avg IP6.2000
Last Start IP7
Team Form Snapshot
{
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "opponent": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.2008,
    "offense_edge": 0.021,
    "opponent_offense_edge": 0.1022,
    "defense_strength": 0.1609,
    "opponent_defense_weakness": -0.2112,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9927,
    "run_prevention": 1.0103,
    "strikeout": 0.9858
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "641816",
    "profile": {
      "available": true,
      "pitcher_id": "641816",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 543.0,
        "k_percent": 22.3,
        "bb_percent": 7.5,
        "woba": 0.311,
        "xwoba": 0.306,
        "sweet_spot_percent": 32.0,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 37.1,
        "avg_best_speed": 80.0191,
        "avg_hyper_speed": 93.8316,
        "whiff_percent": 22.9,
        "swing_percent": 45.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.0666,
        "command_and_miss": -0.0171,
        "regression_edge": 0.1429,
        "xwoba_edge": 0.1714,
        "barrel_edge": 0.0889,
        "hard_hit_edge": 0.1143,
        "whiff_edge": -0.3286,
        "bb_edge": 0.425,
        "pitch_design_score": -0.0125
      },
      "quality_score": 0.0461,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9961,
      "strikeout_factor": 0.988,
      "walk_factor": 0.966,
      "homer_factor": 0.9832,
      "woba_minus_xwoba": 0.005,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "641816",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9961,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9961,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.966,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9832,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.988,
        "adjusted": 5
      }
    }
  },
  "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": 61.1,
    "ER": 13,
    "H": 49,
    "BB": 10,
    "SO": 54,
    "HR": 6,
    "ERA": 1.9076086956521738,
    "WHIP": 0.9619565217391304,
    "K9": 7.923913043478261,
    "HR9": 0.8804347826086956,
    "games_pitched": 10,
    "quality_starts": 8,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-30T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "641816",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 93,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 93,
    "pitch_usage": 0.0,
    "release_speed": 89.64026118417685,
    "release_spin_rate": 2134.9981031675284,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 93,
      "pitch_usage": 0.0,
      "release_speed": 89.64026118417685,
      "release_spin_rate": 2134.9981031675284,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.6403,
    "release_spin_rate": 2134.9981,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0125,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.0896,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "641816",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 28,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 31.0,
        "ER": 8.0,
        "R": 10.0,
        "H": 25.0,
        "BB": 5.0,
        "SO": 22.0,
        "HR": 3.0,
        "BF": 121.0,
        "Pitches": 475.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.6,
        "R": 2.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 4.4,
        "HR": 0.6,
        "BF": 24.2,
        "Pitches": 95.0
      },
      "rates": {
        "ERA": 2.3226,
        "WHIP": 0.9677,
        "ER_per_IP": 0.25806,
        "H_per_IP": 0.80645,
        "BB_per_IP": 0.16129,
        "SO_per_IP": 0.70968,
        "HR_per_IP": 0.09677
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 61.1,
        "ER": 13.0,
        "R": 15.0,
        "H": 49.0,
        "BB": 10.0,
        "SO": 54.0,
        "HR": 6.0,
        "BF": 238.0,
        "Pitches": 919.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.3,
        "R": 1.5,
        "H": 4.9,
        "BB": 1.0,
        "SO": 5.4,
        "HR": 0.6,
        "BF": 23.8,
        "Pitches": 91.9
      },
      "rates": {
        "ERA": 1.9076,
        "WHIP": 0.962,
        "ER_per_IP": 0.21196,
        "H_per_IP": 0.79891,
        "BB_per_IP": 0.16304,
        "SO_per_IP": 0.88043,
        "HR_per_IP": 0.09783
      }
    },
    "season": {
      "games": 28,
      "totals": {
        "IP": 156.0,
        "ER": 67.0,
        "R": 70.0,
        "H": 144.0,
        "BB": 47.0,
        "SO": 143.0,
        "HR": 20.0,
        "BF": 642.0,
        "Pitches": 2497.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.3929,
        "R": 2.5,
        "H": 5.1429,
        "BB": 1.6786,
        "SO": 5.1071,
        "HR": 0.7143,
        "BF": 22.9286,
        "Pitches": 89.1786
      },
      "rates": {
        "ERA": 3.8654,
        "WHIP": 1.2244,
        "ER_per_IP": 0.42949,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.30128,
        "SO_per_IP": 0.91667,
        "HR_per_IP": 0.12821
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.895,
    "predicted_H": 5.167,
    "predicted_BB": 1.328,
    "predicted_SO": 5.036,
    "predicted_HR": 0.669,
    "predicted_ERA": 2.8099,
    "predicted_WHIP": 1.0699
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.414,
  "form_weight": 0.586,
  "form_reliability": 0.8485,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.895,
      "final": 1.5245,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.167,
      "final": 5.0979,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.328,
      "final": 1.6062,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 5.036,
      "final": 3.3651,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.669,
      "final": 0.392,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8099,
      "final": 2.8099,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0699,
      "final": 1.0699,
      "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 Holmes
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.4698
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0250
Avg Velo89.4178
Avg Spin2448.3693
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER2
Pre H1
Pre BB1
Pre SO2
Season ERA3.6269
Season WHIP1.3497
Role Avg IP2.6670
Recent Avg IP2.6670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "opponent": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.2008,
    "offense_edge": 0.021,
    "opponent_offense_edge": 0.1022,
    "defense_strength": 0.1609,
    "opponent_defense_weakness": -0.2112,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9927,
    "run_prevention": 1.0103,
    "strikeout": 0.9858
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656550",
    "profile": {
      "available": true,
      "pitcher_id": "656550",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 599.0,
        "k_percent": 17.9,
        "bb_percent": 9.7,
        "woba": 0.314,
        "xwoba": 0.342,
        "sweet_spot_percent": 34.2,
        "barrel_batted_rate": 8.9,
        "hard_hit_percent": 45.2,
        "avg_best_speed": 82.0972,
        "avg_hyper_speed": 94.9338,
        "whiff_percent": 27.3,
        "swing_percent": 48.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.6043,
        "command_and_miss": -0.19,
        "regression_edge": -0.8,
        "xwoba_edge": -0.8571,
        "barrel_edge": -0.3778,
        "hard_hit_edge": -1.0429,
        "whiff_edge": 0.3,
        "bb_edge": -0.125,
        "pitch_design_score": -0.025
      },
      "quality_score": -0.4698,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0399,
      "strikeout_factor": 0.988,
      "walk_factor": 1.01,
      "homer_factor": 1.0977,
      "woba_minus_xwoba": -0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656550",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0399,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0399,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.01,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0977,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.988,
        "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": 40.1,
    "ER": 16,
    "H": 38,
    "BB": 16,
    "SO": 22,
    "HR": 5,
    "ERA": 3.570247933884298,
    "WHIP": 1.3388429752066118,
    "K9": 4.90909090909091,
    "HR9": 1.115702479338843,
    "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-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656550",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 80,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 80,
    "pitch_usage": 0.0,
    "release_speed": 89.41776598581812,
    "release_spin_rate": 2448.3692690088064,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 80,
      "pitch_usage": 0.0,
      "release_speed": 89.41776598581812,
      "release_spin_rate": 2448.3692690088064,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.4178,
    "release_spin_rate": 2448.3693,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.025,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1786,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 34.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8718,
    "prior_weight": 0.1282
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656550",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 34,
  "reference_playing_time": 2.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 16.2,
        "ER": 7.0,
        "R": 7.0,
        "H": 20.0,
        "BB": 7.0,
        "SO": 6.0,
        "HR": 4.0,
        "BF": 72.0,
        "Pitches": 257.0
      },
      "per_game": {
        "IP": 3.1,
        "ER": 1.4,
        "R": 1.4,
        "H": 4.0,
        "BB": 1.4,
        "SO": 1.2,
        "HR": 0.8,
        "BF": 14.4,
        "Pitches": 51.4
      },
      "rates": {
        "ERA": 3.78,
        "WHIP": 1.62,
        "ER_per_IP": 0.42,
        "H_per_IP": 1.2,
        "BB_per_IP": 0.42,
        "SO_per_IP": 0.36,
        "HR_per_IP": 0.24
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 40.1,
        "ER": 16.0,
        "R": 16.0,
        "H": 38.0,
        "BB": 16.0,
        "SO": 22.0,
        "HR": 5.0,
        "BF": 168.0,
        "Pitches": 615.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 1.6,
        "R": 1.6,
        "H": 3.8,
        "BB": 1.6,
        "SO": 2.2,
        "HR": 0.5,
        "BF": 16.8,
        "Pitches": 61.5
      },
      "rates": {
        "ERA": 3.5702,
        "WHIP": 1.3388,
        "ER_per_IP": 0.39669,
        "H_per_IP": 0.94215,
        "BB_per_IP": 0.39669,
        "SO_per_IP": 0.54545,
        "HR_per_IP": 0.12397
      }
    },
    "season": {
      "games": 34,
      "totals": {
        "IP": 156.1,
        "ER": 63.0,
        "R": 65.0,
        "H": 144.0,
        "BB": 67.0,
        "SO": 118.0,
        "HR": 23.0,
        "BF": 668.0,
        "Pitches": 2482.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.8529,
        "R": 1.9118,
        "H": 4.2353,
        "BB": 1.9706,
        "SO": 3.4706,
        "HR": 0.6765,
        "BF": 19.6471,
        "Pitches": 73.0
      },
      "rates": {
        "ERA": 3.6269,
        "WHIP": 1.3497,
        "ER_per_IP": 0.40299,
        "H_per_IP": 0.92111,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.7548,
        "HR_per_IP": 0.14712
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.2,
    "predicted_ER": 1.518,
    "predicted_H": 3.761,
    "predicted_BB": 1.473,
    "predicted_SO": 2.012,
    "predicted_HR": 0.636,
    "predicted_ERA": 3.7976,
    "predicted_WHIP": 1.4545
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4042,
  "form_weight": 0.5958,
  "form_reliability": 0.8718,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 34.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8718,
    "prior_weight": 0.1282
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 2.0,
      "form": 3.2,
      "final": 3.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.518,
      "final": 0.9045,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 3.761,
      "final": 2.6451,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.473,
      "final": 0.8777,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 2.012,
      "final": 2.0072,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.636,
      "final": 0.379,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7976,
      "final": 3.7976,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4545,
      "final": 1.4545,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDylan Dodd
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2846
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP2
Pre ER1
Pre H2
Pre BB0
Pre SO2
Season ERA2.4847
Season WHIP0.9018
Role Avg IP1.0270
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.021,
    "defense_index": 1.1609,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.156
  },
  "opponent": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1022,
    "defense_index": 1.2112,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3568
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.2008,
    "offense_edge": 0.021,
    "opponent_offense_edge": 0.1022,
    "defense_strength": 0.1609,
    "opponent_defense_weakness": -0.2112,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9927,
    "run_prevention": 1.0103,
    "strikeout": 0.9858
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "689266",
    "profile": {
      "available": true,
      "pitcher_id": "689266",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 168.0,
        "k_percent": 27.3,
        "bb_percent": 7.2,
        "woba": 0.26,
        "xwoba": 0.273,
        "sweet_spot_percent": 37.9,
        "barrel_batted_rate": 8.9,
        "hard_hit_percent": 37.1,
        "avg_best_speed": 80.0941,
        "avg_hyper_speed": 93.4986,
        "whiff_percent": 29.5,
        "swing_percent": 54.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5212,
        "command_and_miss": 0.6493,
        "regression_edge": -0.3714,
        "xwoba_edge": 1.1143,
        "barrel_edge": -0.3778,
        "hard_hit_edge": 0.1143,
        "whiff_edge": 0.6143,
        "bb_edge": 0.5,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.2846,
      "sample_weight": 0.672,
      "run_prevention_factor": 0.9758,
      "strikeout_factor": 1.0365,
      "walk_factor": 0.9731,
      "homer_factor": 0.9948,
      "woba_minus_xwoba": -0.013,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "689266",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9837,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9837,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9819,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9965,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0245,
        "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.1,
    "ER": 5,
    "H": 9,
    "BB": 1,
    "SO": 15,
    "HR": 3,
    "ERA": 3.9705882352941173,
    "WHIP": 0.8823529411764706,
    "K9": 11.911764705882351,
    "HR9": 2.3823529411764706,
    "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-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "689266",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.219,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6917,
    "prior_weight": 0.3083
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "689266",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 51,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 0.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 31.0,
        "Pitches": 124.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.4,
        "BB": 0.0,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 6.2,
        "Pitches": 24.8
      },
      "rates": {
        "ERA": 3.5217,
        "WHIP": 0.913,
        "ER_per_IP": 0.3913,
        "H_per_IP": 0.91304,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.17391,
        "HR_per_IP": 0.13043
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 5.0,
        "R": 5.0,
        "H": 9.0,
        "BB": 1.0,
        "SO": 15.0,
        "HR": 3.0,
        "BF": 45.0,
        "Pitches": 182.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 0.9,
        "BB": 0.1,
        "SO": 1.5,
        "HR": 0.3,
        "BF": 4.5,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 3.9706,
        "WHIP": 0.8824,
        "ER_per_IP": 0.44118,
        "H_per_IP": 0.79412,
        "BB_per_IP": 0.08824,
        "SO_per_IP": 1.32353,
        "HR_per_IP": 0.26471
      }
    },
    "season": {
      "games": 51,
      "totals": {
        "IP": 54.1,
        "ER": 15.0,
        "R": 15.0,
        "H": 35.0,
        "BB": 14.0,
        "SO": 59.0,
        "HR": 7.0,
        "BF": 212.0,
        "Pitches": 857.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2941,
        "R": 0.2941,
        "H": 0.6863,
        "BB": 0.2745,
        "SO": 1.1569,
        "HR": 0.1373,
        "BF": 4.1569,
        "Pitches": 16.8039
      },
      "rates": {
        "ERA": 2.4847,
        "WHIP": 0.9018,
        "ER_per_IP": 0.27607,
        "H_per_IP": 0.64417,
        "BB_per_IP": 0.25767,
        "SO_per_IP": 1.08589,
        "HR_per_IP": 0.12883
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.513,
    "predicted_H": 1.05,
    "predicted_BB": 0.21,
    "predicted_SO": 1.357,
    "predicted_HR": 0.203,
    "predicted_ERA": 3.8269,
    "predicted_WHIP": 1.0436
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4803,
  "form_weight": 0.5197,
  "form_reliability": 0.6917,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.219,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6917,
    "prior_weight": 0.3083
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.1,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 5.0,
      "form": 0.513,
      "final": 2.6679,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 1.05,
      "final": 2.947,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.21,
      "final": 1.0697,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.357,
      "final": 0.7053,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.203,
      "final": 0.5858,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8269,
      "final": 3.8269,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0436,
      "final": 1.0436,
      "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."
}
Michael Harris II (671739) · BATTER · CF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 601
All-history rows before 20261007: 601
System season_avg: 0.3000
Data season_avg (2026 season-to-date): 0.2975
Diff (system - data): 0.0025
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.2310.0000.000Hitting_2B0.2360.000-0.2360.000
predicted_3B0.0130.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB5.5204.0004.000Hitting_AB4.0274.000-0.0270.000
predicted_AVG0.2890.5000.500Hitting_AVG0.2980.2500.2020.250
predicted_BB0.1310.0000.000Hitting_BB0.1430.000-0.1430.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.6002.0002.000Hitting_H1.1981.0000.8021.000
predicted_HR0.2100.0000.000Hitting_HR0.1780.000-0.1780.000
predicted_OBP0.3220.5000.500Hitting_OBP0.3230.2500.1770.250
predicted_R0.5250.0000.000Hitting_R0.5520.000-0.5520.000
predicted_RBI0.7300.0000.000Hitting_RBI0.5990.000-0.5990.000
predicted_SLG0.5140.5000.500Hitting_SLG0.4940.2500.0060.250
predicted_SO0.7621.0001.000Hitting_SO0.8150.0000.1851.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_H: 1.6000 -> 2.0000 (boost 0.4000, better)
Biggest Deboostpredicted_AB: 5.5200 -> 4.0000 (deboost -1.5200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63333predicted_AVG: 0.2890 -> 0.2992 (boost 0.0102, better)predicted_AB: 5.5200 -> 4.8349 (deboost -0.6851, 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.5210 -> 0.4660 (deboost -0.0550, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81708predicted_SO: 0.7343 -> 1.0000 (boost 0.2657, worse)predicted_AB: 4.8349 -> 4.0000 (deboost -0.8349, worse)AB rounded to 4 (raw=5.52), rates preserved: AVG=0.224 HR/AB=0.033
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.5087 -> 1.0000 (boost 0.4913, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.5850 (boost 0.5850, 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_allocation82635predicted_2B: 0.1964 -> 1.0000 (boost 0.8036, better)predicted_BB: 0.1785 -> 0.0000 (deboost -0.1785, 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_environment33030predicted_SLG: 0.4390 -> 0.4860 (boost 0.0470, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_realization41313predicted_H: 1.0000 -> 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.4860 -> 0.4550 (deboost -0.0310, 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": "671739",
  "player_name": "Michael Harris II",
  "position": "CF",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.231,
        "predicted_3B": 0.013,
        "predicted_AB": 5.52,
        "predicted_AVG": 0.289,
        "predicted_BB": 0.131,
        "predicted_H": 1.6,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.322,
        "predicted_R": 0.525,
        "predicted_RBI": 0.73,
        "predicted_SLG": 0.514,
        "predicted_SO": 0.762
      },
      "changed_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.2415,
        "predicted_3B": 0.0344,
        "predicted_AB": 4.8349,
        "predicted_AVG": 0.2992,
        "predicted_BB": 0.1131,
        "predicted_H": 1.4401,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.1882,
        "predicted_OBP": 0.329,
        "predicted_R": 0.5372,
        "predicted_RBI": 0.6789,
        "predicted_SLG": 0.521,
        "predicted_SO": 0.7305
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 5.52,
          "after": 4.8349,
          "delta": -0.6851,
          "percent_delta": -0.1241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.289,
          "after": 0.2992,
          "delta": 0.0102,
          "percent_delta": 0.0353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6,
          "after": 1.4401,
          "delta": -0.1599,
          "percent_delta": -0.0999,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.329,
          "delta": 0.007,
          "percent_delta": 0.0217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.73,
          "after": 0.6789,
          "delta": -0.0511,
          "percent_delta": -0.07,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.514,
          "after": 0.521,
          "delta": 0.007,
          "percent_delta": 0.0136,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.289,
          "after": 0.2992,
          "delta": 0.0102,
          "percent_delta": 0.0353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.52,
          "after": 4.8349,
          "delta": -0.6851,
          "percent_delta": -0.1241,
          "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": 160
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2415,
        "predicted_3B": 0.0344,
        "predicted_AB": 4.8349,
        "predicted_AVG": 0.2884,
        "predicted_BB": 0.1125,
        "predicted_H": 1.3943,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.1828,
        "predicted_OBP": 0.3046,
        "predicted_R": 0.5087,
        "predicted_RBI": 0.6429,
        "predicted_SLG": 0.466,
        "predicted_SO": 0.7343
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2992,
          "after": 0.2884,
          "delta": -0.0108,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.3046,
          "delta": -0.0244,
          "percent_delta": -0.0742,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.521,
          "after": 0.466,
          "delta": -0.055,
          "percent_delta": -0.1056,
          "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.521,
          "after": 0.466,
          "delta": -0.055,
          "percent_delta": -0.1056,
          "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.52), rates preserved: AVG=0.224 HR/AB=0.033",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2415,
          "after": 0.0,
          "delta": -0.2415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.8349,
          "after": 4.0,
          "delta": -0.8349,
          "percent_delta": -0.1727,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1125,
          "after": 0.0,
          "delta": -0.1125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3943,
          "after": 1.0,
          "delta": -0.3943,
          "percent_delta": -0.2828,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.067,
          "after": 0.0,
          "delta": -0.067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1828,
          "after": 0.0,
          "delta": -0.1828,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6429,
          "after": 0.0,
          "delta": -0.6429,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7343,
          "after": 1.0,
          "delta": 0.2657,
          "percent_delta": 0.3618,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7343,
          "after": 1.0,
          "delta": 0.2657,
          "percent_delta": 0.3618,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.8349,
          "after": 4.0,
          "delta": -0.8349,
          "percent_delta": -0.1727,
          "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": 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.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": 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.5087,
          "after": 1.0,
          "delta": 0.4913,
          "percent_delta": 0.9658,
          "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.5087,
          "after": 1.0,
          "delta": 0.4913,
          "percent_delta": 0.9658,
          "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.1964,
        "predicted_3B": 0.012,
        "predicted_BB": 0.1785,
        "predicted_H": 1.0262,
        "predicted_HR": 0.1777,
        "predicted_RBI": 0.585,
        "predicted_SO": 1.0994
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1964,
          "delta": 0.1964,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1785,
          "delta": 0.1785,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1777,
          "delta": 0.1777,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.585,
          "delta": 0.585,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0994,
          "delta": 0.0994,
          "percent_delta": 0.0994,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.585,
          "delta": 0.585,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.439,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1964,
          "after": 1.0,
          "delta": 0.8036,
          "percent_delta": 4.0916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2884,
          "after": 0.253,
          "delta": -0.0354,
          "percent_delta": -0.1227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1785,
          "after": 0.0,
          "delta": -0.1785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1777,
          "after": 0.0,
          "delta": -0.1777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3046,
          "after": 0.29,
          "delta": -0.0146,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.585,
          "after": 1.0,
          "delta": 0.415,
          "percent_delta": 0.7094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.466,
          "after": 0.439,
          "delta": -0.027,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0994,
          "after": 1.0,
          "delta": -0.0994,
          "percent_delta": -0.0904,
          "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_2B",
          "before": 0.1964,
          "after": 1.0,
          "delta": 0.8036,
          "percent_delta": 4.0916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1785,
          "after": 0.0,
          "delta": -0.1785,
          "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.439,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.28,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.486,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.28,
          "delta": 0.027,
          "percent_delta": 0.1067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.319,
          "delta": 0.029,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.439,
          "after": 0.486,
          "delta": 0.047,
          "percent_delta": 0.1071,
          "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.439,
          "after": 0.486,
          "delta": 0.047,
          "percent_delta": 0.1071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 2.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 0.0,
        "predicted_H": 2.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": 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.25,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.455,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.28,
          "after": 0.25,
          "delta": -0.03,
          "percent_delta": -0.1071,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.296,
          "delta": -0.023,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.486,
          "after": 0.455,
          "delta": -0.031,
          "percent_delta": -0.0638,
          "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.486,
          "after": 0.455,
          "delta": -0.031,
          "percent_delta": -0.0638,
          "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.231,
        "after": 0.0,
        "delta": -0.231,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 5.52,
        "after": 4.0,
        "delta": -1.52,
        "percent_delta": -0.2754,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.289,
        "after": 0.25,
        "delta": -0.039,
        "percent_delta": -0.1349,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.131,
        "after": 0.0,
        "delta": -0.131,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.6,
        "after": 2.0,
        "delta": 0.4,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.067,
        "after": 0.0,
        "delta": -0.067,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.322,
        "after": 0.296,
        "delta": -0.026,
        "percent_delta": -0.0807,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.525,
        "after": 0.0,
        "delta": -0.525,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.514,
        "after": 0.455,
        "delta": -0.059,
        "percent_delta": -0.1148,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.762,
        "after": 1.0,
        "delta": 0.238,
        "percent_delta": 0.3123,
        "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_H",
        "before": 1.6,
        "after": 2.0,
        "delta": 0.4,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.52,
        "after": 4.0,
        "delta": -1.52,
        "percent_delta": -0.2754,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.231-
predicted_3B0.013-
predicted_AB5.520-
predicted_AVG0.289-
predicted_BB0.131-
predicted_H1.600-
predicted_HR0.210-
predicted_OBP0.322-
predicted_R0.525-
predicted_RBI0.730-
predicted_SLG0.514-
predicted_SO0.762-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2410.010
predicted_3B0.0340.021
predicted_AB4.835-0.685
predicted_AVG0.2990.010
predicted_BB0.113-0.018
predicted_H1.440-0.160
predicted_HBP0.067-
predicted_HR0.188-0.022
predicted_OBP0.3290.007
predicted_R0.5370.012
predicted_RBI0.679-0.051
predicted_SLG0.5210.007
predicted_SO0.731-0.031
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2410.000
predicted_3B0.0340.000
predicted_AB4.8350.000
predicted_AVG0.288-0.011
predicted_BB0.113-0.001
predicted_H1.394-0.046
predicted_HBP0.0670.000
predicted_HR0.183-0.005
predicted_OBP0.305-0.024
predicted_R0.509-0.028
predicted_RBI0.643-0.036
predicted_SLG0.466-0.055
predicted_SO0.7340.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=5.52), rates preserved: AVG=0.224 HR/AB=0.033

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1960.196
3B0.0120.012
BB0.1780.178
H1.0260.026
HR0.1780.178
RBI0.5850.585
SO1.0990.099
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.804
3B0.000-0.012
AB4.0000.000
AVG0.253-
BB0.000-0.178
H1.000-0.026
HR0.000-0.178
OBP0.290-
R1.0000.000
RBI1.0000.415
SLG0.439-
SO1.000-0.099
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.758
predicted_3B0.000-0.034
predicted_AB4.000-0.835
predicted_AVG0.253-0.035
predicted_BB0.000-0.113
predicted_H1.000-0.394
predicted_HR0.000-0.183
predicted_OBP0.290-0.015
predicted_R1.0000.491
predicted_RBI1.0000.357
predicted_SLG0.439-0.027
predicted_SO1.0000.266
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2800.027
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3190.029
R1.0000.000
RBI1.0000.000
SLG0.4860.047
SO1.0000.000
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
BB0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.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
BB0.0000.000
H2.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: 160
Reference playing time: 5.520
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0006.0001.0001.0001.0004.0002.0000.0003.0000.28570.31820.57140.28570.04760.19050.00000.1429
last_100.2010-41.00016.0004.0001.0001.0006.0008.0000.0005.0000.39020.40480.60980.39020.02440.14630.00000.1220
season0.60160-613.000184.00037.0002.00027.00091.00084.00021.000122.0000.30020.32500.49920.30020.04400.14840.03430.1990
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2550
predicted_3B0.0620
predicted_AB3.9520
predicted_AVG0.3123
predicted_BB0.0900
predicted_H1.2340
predicted_HBP0.0670
predicted_HR0.1600
predicted_OBP0.3381
predicted_R0.5530
predicted_RBI0.6130
predicted_SLG0.5300
predicted_SO0.6900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23100.25500.2415model_form_blend
predicted_3B0.01300.06200.0344model_form_blend
predicted_AB5.52003.95204.8349model_form_blend
predicted_AVG0.28900.31230.2992model_form_blend
predicted_BB0.13100.09000.1131model_form_blend
predicted_H1.60001.23401.4401model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.21000.16000.1882model_form_blend
predicted_OBP0.32200.33810.3290model_form_blend
predicted_R0.52500.55300.5372model_form_blend
predicted_RBI0.73000.61300.6789model_form_blend
predicted_SLG0.51400.53000.5210model_form_blend
predicted_SO0.76200.69000.7305model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR0
R0
RBI0
BB0
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_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261006_LAD@ATL
game_typefull
mlbID671739
playerID671739
playerNameMichael Harris II
posCF
startedTrue
startingPositionCF
teamATL
teamID2
game_date2026-10-06
sl_k_percent19.2
sl_bb_percent3.7
sl_woba0.349
sl_xwoba0.342
sl_xba0.29
sl_xslg0.477
sl_sweet_spot_percent31.9
sl_barrel_batted_rate10.3
sl_hard_hit_percent47.6
sl_exit_velocity_avg90.5
sl_launch_angle_avg10.0
sl_whiff_percent24.6
sl_swing_percent56.4
Ronald Acuña Jr. (660670) · BATTER · RF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 447
All-history rows before 20261007: 447
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2565
Diff (system - data): -0.0055
System opponent_avg: 0.2730

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1610.0000.000Hitting_2B0.1790.000-0.1790.000
predicted_3B0.0091.0001.000Hitting_3B0.0090.0000.9911.000
predicted_AB4.4404.0004.000Hitting_AB3.8723.0000.1281.000
predicted_AVG0.2210.2500.250Hitting_AVG0.2560.000-0.0060.250
predicted_BB0.5000.0000.000Hitting_BB0.5301.000-0.530-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0760.000-0.0760.000
predicted_H0.9801.0001.000Hitting_H0.9930.0000.0071.000
predicted_HR0.1600.0000.000Hitting_HR0.1860.000-0.1860.000
predicted_OBP0.3140.2500.250Hitting_OBP0.3500.250-0.1000.000
predicted_R0.5800.0000.000Hitting_R0.5820.000-0.5820.000
predicted_RBI0.4201.0001.000Hitting_RBI0.5080.0000.4921.000
predicted_SLG0.3690.7500.750Hitting_SLG0.4510.0000.2990.750
predicted_SO0.9462.0002.000Hitting_SO0.9781.0001.0221.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics6
Deboosted Metrics6
Better Metrics5
Worse Metrics7
Biggest Boostpredicted_SO: 0.9460 -> 2.0000 (boost 1.0540, worse)
Biggest Deboostpredicted_R: 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_blend40404-predicted_AB: 4.4400 -> 4.1312 (deboost -0.3088, 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.3158 -> 0.2976 (deboost -0.0182, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_H: 0.8721 -> 1.0000 (boost 0.1279, better)predicted_BB: 0.5086 -> 0.0000 (deboost -0.5086, worse)AB rounded to 4 (raw=4.44), rates preserved: AVG=0.174 HR/AB=0.030
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
7consistency_constraints11010predicted_R: 0.5587 -> 1.0000 (boost 0.4413, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4507 (boost 0.4507, better)predicted_H: 1.0000 -> 0.8596 (deboost -0.1404, 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_allocation95463predicted_BB: 0.4135 -> 1.0000 (boost 0.5865, better)predicted_RBI: 0.4507 -> 0.0000 (deboost -0.4507, 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_environment55050predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
12market_blend00000--Market blend not applied: no props for this hitter
13play_by_play_realization52314predicted_3B: 0.0000 -> 1.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_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": "660670",
  "player_name": "Ronald Acuña Jr.",
  "position": "RF",
  "team": "ATL",
  "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.009,
        "predicted_AB": 4.44,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.5,
        "predicted_H": 0.98,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.314,
        "predicted_R": 0.58,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.369,
        "predicted_SO": 0.946
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1341,
        "predicted_3B": 0.0077,
        "predicted_AB": 4.1312,
        "predicted_AVG": 0.2179,
        "predicted_BB": 0.5113,
        "predicted_H": 0.9007,
        "predicted_HBP": 0.051,
        "predicted_HR": 0.1366,
        "predicted_OBP": 0.3158,
        "predicted_R": 0.59,
        "predicted_RBI": 0.3676,
        "predicted_SLG": 0.3518,
        "predicted_SO": 0.9027
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.44,
          "after": 4.1312,
          "delta": -0.3088,
          "percent_delta": -0.0695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.98,
          "after": 0.9007,
          "delta": -0.0793,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.3676,
          "delta": -0.0524,
          "percent_delta": -0.1248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.3518,
          "delta": -0.0172,
          "percent_delta": -0.0466,
          "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_AB",
          "before": 4.44,
          "after": 4.1312,
          "delta": -0.3088,
          "percent_delta": -0.0695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 112
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1341,
        "predicted_3B": 0.0077,
        "predicted_AB": 4.1312,
        "predicted_AVG": 0.2111,
        "predicted_BB": 0.5086,
        "predicted_H": 0.8721,
        "predicted_HBP": 0.051,
        "predicted_HR": 0.1327,
        "predicted_OBP": 0.2976,
        "predicted_R": 0.5587,
        "predicted_RBI": 0.3481,
        "predicted_SLG": 0.3436,
        "predicted_SO": 0.9074
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2179,
          "after": 0.2111,
          "delta": -0.0068,
          "percent_delta": -0.0312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3158,
          "after": 0.2976,
          "delta": -0.0182,
          "percent_delta": -0.0576,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3518,
          "after": 0.3436,
          "delta": -0.0082,
          "percent_delta": -0.0233,
          "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.3158,
          "after": 0.2976,
          "delta": -0.0182,
          "percent_delta": -0.0576,
          "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.44), rates preserved: AVG=0.174 HR/AB=0.030",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1341,
          "after": 0.0,
          "delta": -0.1341,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.1312,
          "after": 4.0,
          "delta": -0.1312,
          "percent_delta": -0.0318,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5086,
          "after": 0.0,
          "delta": -0.5086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8721,
          "after": 1.0,
          "delta": 0.1279,
          "percent_delta": 0.1467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.051,
          "after": 0.0,
          "delta": -0.051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1327,
          "after": 0.0,
          "delta": -0.1327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3481,
          "after": 0.0,
          "delta": -0.3481,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9074,
          "after": 1.0,
          "delta": 0.0926,
          "percent_delta": 0.102,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8721,
          "after": 1.0,
          "delta": 0.1279,
          "percent_delta": 0.1467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5086,
          "after": 0.0,
          "delta": -0.5086,
          "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.273)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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": 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.5587,
          "after": 1.0,
          "delta": 0.4413,
          "percent_delta": 0.7899,
          "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.5587,
          "after": 1.0,
          "delta": 0.4413,
          "percent_delta": 0.7899,
          "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.1688,
        "predicted_3B": 0.0099,
        "predicted_BB": 0.4135,
        "predicted_H": 0.8596,
        "predicted_HR": 0.1582,
        "predicted_RBI": 0.4507,
        "predicted_SO": 1.1239
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1688,
          "delta": 0.1688,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4135,
          "delta": 0.4135,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8596,
          "delta": -0.1404,
          "percent_delta": -0.1404,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1582,
          "delta": 0.1582,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4507,
          "delta": 0.4507,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1239,
          "delta": 0.1239,
          "percent_delta": 0.1239,
          "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.4507,
          "delta": 0.4507,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8596,
          "delta": -0.1404,
          "percent_delta": -0.1404,
          "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.303,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.394,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1688,
          "after": 0.0,
          "delta": -0.1688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2111,
          "after": 0.223,
          "delta": 0.0119,
          "percent_delta": 0.0564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4135,
          "after": 1.0,
          "delta": 0.5865,
          "percent_delta": 1.4184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8596,
          "after": 1.0,
          "delta": 0.1404,
          "percent_delta": 0.1633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1582,
          "after": 0.0,
          "delta": -0.1582,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2976,
          "after": 0.303,
          "delta": 0.0054,
          "percent_delta": 0.0181,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4507,
          "after": 0.0,
          "delta": -0.4507,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3436,
          "after": 0.394,
          "delta": 0.0504,
          "percent_delta": 0.1467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1239,
          "after": 1.0,
          "delta": -0.1239,
          "percent_delta": -0.1102,
          "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_BB",
          "before": 0.4135,
          "after": 1.0,
          "delta": 0.5865,
          "percent_delta": 1.4184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4507,
          "after": 0.0,
          "delta": -0.4507,
          "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.223,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.394,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.247,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.437,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.247,
          "delta": 0.024,
          "percent_delta": 0.1076,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.332,
          "delta": 0.029,
          "percent_delta": 0.0957,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.394,
          "after": 0.437,
          "delta": 0.043,
          "percent_delta": 0.1091,
          "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_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": "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": 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": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 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_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": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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": 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": 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.247,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.437,
        "predicted_SO": 2.0,
        "predicted_TB": 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": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.161,
        "after": 0.0,
        "delta": -0.161,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 1.0,
        "delta": 0.991,
        "percent_delta": 110.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.44,
        "after": 4.0,
        "delta": -0.44,
        "percent_delta": -0.0991,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.221,
        "after": 0.247,
        "delta": 0.026,
        "percent_delta": 0.1176,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.051,
        "after": 0.0,
        "delta": -0.051,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.314,
        "after": 0.332,
        "delta": 0.018,
        "percent_delta": 0.0573,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 1.0,
        "delta": 0.58,
        "percent_delta": 1.381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.369,
        "after": 0.437,
        "delta": 0.068,
        "percent_delta": 0.1843,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.946,
        "after": 2.0,
        "delta": 1.054,
        "percent_delta": 1.1142,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 6,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.946,
        "after": 2.0,
        "delta": 1.054,
        "percent_delta": 1.1142,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "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.161-
predicted_3B0.009-
predicted_AB4.440-
predicted_AVG0.221-
predicted_BB0.500-
predicted_H0.980-
predicted_HR0.160-
predicted_OBP0.314-
predicted_R0.580-
predicted_RBI0.420-
predicted_SLG0.369-
predicted_SO0.946-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.134-0.027
predicted_3B0.008-0.001
predicted_AB4.131-0.309
predicted_AVG0.218-0.003
predicted_BB0.5110.011
predicted_H0.901-0.079
predicted_HBP0.051-
predicted_HR0.137-0.023
predicted_OBP0.3160.002
predicted_R0.5900.010
predicted_RBI0.368-0.052
predicted_SLG0.352-0.017
predicted_SO0.903-0.043
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1340.000
predicted_3B0.0080.000
predicted_AB4.1310.000
predicted_AVG0.211-0.007
predicted_BB0.509-0.003
predicted_H0.872-0.029
predicted_HBP0.0510.000
predicted_HR0.133-0.004
predicted_OBP0.298-0.018
predicted_R0.559-0.031
predicted_RBI0.348-0.019
predicted_SLG0.344-0.008
predicted_SO0.9070.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.44), rates preserved: AVG=0.174 HR/AB=0.030

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
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.1690.169
3B0.0100.010
BB0.4130.413
H0.860-0.140
HR0.1580.158
RBI0.4510.451
SO1.1240.124
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.169
3B0.000-0.010
AB4.0000.000
AVG0.223-
BB1.0000.587
H1.0000.140
HR0.000-0.158
OBP0.303-
R1.0000.000
RBI0.000-0.451
SLG0.394-
SO1.000-0.124
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.134
predicted_3B0.000-0.008
predicted_AB4.000-0.131
predicted_AVG0.2230.012
predicted_BB1.0000.491
predicted_H1.0000.128
predicted_HR0.000-0.133
predicted_OBP0.3030.005
predicted_R1.0000.441
predicted_RBI0.000-0.348
predicted_SLG0.3940.050
predicted_SO1.0000.093
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
AVG0.2470.024
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3320.029
R1.0000.000
RBI1.0001.000
SLG0.4370.043
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
3B1.0001.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI1.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
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: 112
Reference playing time: 4.440
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0003.0000.0000.0000.0000.0004.0004.0004.0000.16670.31820.16670.16670.00000.00000.22220.2222
last_100.2010-36.0005.0000.0000.0000.0000.0005.0004.0006.0000.13890.24390.13890.13890.00000.00000.11110.1667
season0.60112-426.000107.00018.0001.00020.00055.00065.00056.000106.0000.25120.34420.43900.25120.04690.12910.13150.2488
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0990
predicted_3B0.0060
predicted_AB3.7270
predicted_AVG0.2139
predicted_BB0.5260
predicted_H0.7970
predicted_HBP0.0510
predicted_HR0.1060
predicted_OBP0.3182
predicted_R0.6030
predicted_RBI0.2990
predicted_SLG0.3293
predicted_SO0.8460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16100.09900.1341model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB4.44003.72704.1312model_form_blend
predicted_AVG0.22100.21390.2179model_form_blend
predicted_BB0.50000.52600.5113model_form_blend
predicted_H0.98000.79700.9007model_form_blend
predicted_HBP-0.05100.0510form_only
predicted_HR0.16000.10600.1366model_form_blend
predicted_OBP0.31400.31820.3158model_form_blend
predicted_R0.58000.60300.5900model_form_blend
predicted_RBI0.42000.29900.3676model_form_blend
predicted_SLG0.36900.32930.3518model_form_blend
predicted_SO0.94600.84600.9027model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B1
HR0
R0
RBI1
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_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261006_LAD@ATL
game_typefull
mlbID660670
playerID660670
playerNameRonald Acuña Jr.
posRF
startedTrue
startingPositionDH
teamATL
teamID2
game_date2026-10-06
sl_k_percent22.0
sl_bb_percent11.3
sl_woba0.348
sl_xwoba0.366
sl_xba0.261
sl_xslg0.495
sl_sweet_spot_percent34.7
sl_barrel_batted_rate13.0
sl_hard_hit_percent43.5
sl_exit_velocity_avg89.6
sl_launch_angle_avg15.7
sl_whiff_percent29.0
sl_swing_percent49.4
Matt Olson (621566) · BATTER · 1B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 671
All-history rows before 20261007: 671
System season_avg: 0.2480
Data season_avg (2026 season-to-date): 0.2532
Diff (system - data): -0.0052
System opponent_avg: 0.1540

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2040.0000.000Hitting_2B0.2270.000-0.2270.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2604.0004.000Hitting_AB3.8974.0000.1030.000
predicted_AVG0.2210.0000.000Hitting_AVG0.2530.250-0.253-0.250
predicted_BB0.3890.0000.000Hitting_BB0.4290.000-0.4290.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9400.0000.000Hitting_H0.9871.000-0.987-1.000
predicted_HR0.2100.0000.000Hitting_HR0.2640.000-0.2640.000
predicted_OBP0.2830.0000.000Hitting_OBP0.3280.250-0.328-0.250
predicted_R0.6050.0000.000Hitting_R0.6560.000-0.6560.000
predicted_RBI0.6000.0000.000Hitting_RBI0.5920.000-0.5920.000
predicted_SLG0.4170.0000.000Hitting_SLG0.5140.250-0.514-0.250
predicted_SO1.0661.0001.000Hitting_SO1.0942.000-0.094-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_SLG: 0.4170 -> 0.4600 (boost 0.0430, better)
Biggest Deboostpredicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 4.2600 -> 4.0444 (deboost -0.2156, 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.4159 -> 0.4044 (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_scaling62433predicted_RBI: 0.5578 -> 1.0000 (boost 0.4422, better)predicted_BB: 0.3778 -> 0.0000 (deboost -0.3778, worse)AB rounded to 4 (raw=4.26), rates preserved: AVG=0.180 HR/AB=0.047
6bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)
7consistency_constraints11010predicted_R: 0.5447 -> 1.0000 (boost 0.4553, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3638 (boost 0.3638, better)predicted_RBI: 1.0000 -> 0.4837 (deboost -0.5163, 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_allocation86271predicted_HR: 0.2105 -> 1.0000 (boost 0.7895, better)predicted_SO: 1.1837 -> 1.0000 (deboost -0.1837, 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
11kpi_run_environment33030predicted_SLG: 0.4250 -> 0.4710 (boost 0.0460, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_realization50505-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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final20202-predicted_SLG: 0.4710 -> 0.4600 (deboost -0.0110, 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": "621566",
  "player_name": "Matt Olson",
  "position": "1B",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.204,
        "predicted_3B": 0.0,
        "predicted_AB": 4.26,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.389,
        "predicted_H": 0.94,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.283,
        "predicted_R": 0.605,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.417,
        "predicted_SO": 1.066
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1681,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0444,
        "predicted_AVG": 0.2208,
        "predicted_BB": 0.3798,
        "predicted_H": 0.8922,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2069,
        "predicted_OBP": 0.2836,
        "predicted_R": 0.5752,
        "predicted_RBI": 0.589,
        "predicted_SLG": 0.4159,
        "predicted_SO": 1.0936
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 4.0444,
          "delta": -0.2156,
          "percent_delta": -0.0506,
          "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.26,
          "after": 4.0444,
          "delta": -0.2156,
          "percent_delta": -0.0506,
          "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": 167
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1681,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0444,
        "predicted_AVG": 0.2136,
        "predicted_BB": 0.3778,
        "predicted_H": 0.8638,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.201,
        "predicted_OBP": 0.2808,
        "predicted_R": 0.5447,
        "predicted_RBI": 0.5578,
        "predicted_SLG": 0.4044,
        "predicted_SO": 1.0993
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2208,
          "after": 0.2136,
          "delta": -0.0072,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4159,
          "after": 0.4044,
          "delta": -0.0115,
          "percent_delta": -0.0277,
          "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.4159,
          "after": 0.4044,
          "delta": -0.0115,
          "percent_delta": -0.0277,
          "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.26), rates preserved: AVG=0.180 HR/AB=0.047",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1681,
          "after": 0.0,
          "delta": -0.1681,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3778,
          "after": 0.0,
          "delta": -0.3778,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8638,
          "after": 1.0,
          "delta": 0.1362,
          "percent_delta": 0.1577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.201,
          "after": 0.0,
          "delta": -0.201,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5578,
          "after": 1.0,
          "delta": 0.4422,
          "percent_delta": 0.7928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0993,
          "after": 1.0,
          "delta": -0.0993,
          "percent_delta": -0.0903,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5578,
          "after": 1.0,
          "delta": 0.4422,
          "percent_delta": 0.7928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3778,
          "after": 0.0,
          "delta": -0.3778,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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.8791,
        "bvp": 0.1209
      }
    },
    {
      "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.5447,
          "after": 1.0,
          "delta": 0.4553,
          "percent_delta": 0.8359,
          "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.5447,
          "after": 1.0,
          "delta": 0.4553,
          "percent_delta": 0.8359,
          "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.1657,
        "predicted_3B": 0.0066,
        "predicted_BB": 0.3638,
        "predicted_H": 0.8136,
        "predicted_HR": 0.2105,
        "predicted_RBI": 0.4837,
        "predicted_SO": 1.1837
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1657,
          "delta": 0.1657,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3638,
          "delta": 0.3638,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8136,
          "delta": -0.1864,
          "percent_delta": -0.1864,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2105,
          "delta": 0.2105,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4837,
          "delta": -0.5163,
          "percent_delta": -0.5163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1837,
          "delta": 0.1837,
          "percent_delta": 0.1837,
          "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.3638,
          "delta": 0.3638,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4837,
          "delta": -0.5163,
          "percent_delta": -0.5163,
          "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.213,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.287,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.425,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1657,
          "after": 0.0,
          "delta": -0.1657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3638,
          "after": 1.0,
          "delta": 0.6362,
          "percent_delta": 1.7488,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8136,
          "after": 1.0,
          "delta": 0.1864,
          "percent_delta": 0.2291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2105,
          "after": 1.0,
          "delta": 0.7895,
          "percent_delta": 3.7506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2808,
          "after": 0.287,
          "delta": 0.0062,
          "percent_delta": 0.0221,
          "direction": "boost",
          "projection_effect": "better",
          "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_SLG",
          "before": 0.4044,
          "after": 0.425,
          "delta": 0.0206,
          "percent_delta": 0.0509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1837,
          "after": 1.0,
          "delta": -0.1837,
          "percent_delta": -0.1552,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2105,
          "after": 1.0,
          "delta": 0.7895,
          "percent_delta": 3.7506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.1837,
          "after": 1.0,
          "delta": -0.1837,
          "percent_delta": -0.1552,
          "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.213,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.287,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.425,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.236,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.471,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.236,
          "delta": 0.023,
          "percent_delta": 0.108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.314,
          "delta": 0.027,
          "percent_delta": 0.0941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.471,
          "delta": 0.046,
          "percent_delta": 0.1082,
          "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.425,
          "after": 0.471,
          "delta": 0.046,
          "percent_delta": 0.1082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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.226,
        "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.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.46,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.226,
          "delta": -0.01,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.471,
          "after": 0.46,
          "delta": -0.011,
          "percent_delta": -0.0234,
          "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.471,
          "after": 0.46,
          "delta": -0.011,
          "percent_delta": -0.0234,
          "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.204,
        "after": 0.0,
        "delta": -0.204,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.26,
        "after": 4.0,
        "delta": -0.26,
        "percent_delta": -0.061,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.221,
        "after": 0.226,
        "delta": 0.005,
        "percent_delta": 0.0226,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.313,
        "delta": 0.03,
        "percent_delta": 0.106,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.605,
        "after": 0.0,
        "delta": -0.605,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.6,
        "after": 0.0,
        "delta": -0.6,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.417,
        "after": 0.46,
        "delta": 0.043,
        "percent_delta": 0.1031,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.066,
        "after": 1.0,
        "delta": -0.066,
        "percent_delta": -0.0619,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SLG",
        "before": 0.417,
        "after": 0.46,
        "delta": 0.043,
        "percent_delta": 0.1031,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.204-
predicted_3B0.000-
predicted_AB4.260-
predicted_AVG0.221-
predicted_BB0.389-
predicted_H0.940-
predicted_HR0.210-
predicted_OBP0.283-
predicted_R0.605-
predicted_RBI0.600-
predicted_SLG0.417-
predicted_SO1.066-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.168-0.036
predicted_3B0.0000.000
predicted_AB4.044-0.216
predicted_AVG0.221-0.000
predicted_BB0.380-0.009
predicted_H0.892-0.048
predicted_HBP0.011-
predicted_HR0.207-0.003
predicted_OBP0.2840.001
predicted_R0.575-0.030
predicted_RBI0.589-0.011
predicted_SLG0.416-0.001
predicted_SO1.0940.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.1680.000
predicted_3B0.0000.000
predicted_AB4.0440.000
predicted_AVG0.214-0.007
predicted_BB0.378-0.002
predicted_H0.864-0.028
predicted_HBP0.0110.000
predicted_HR0.201-0.006
predicted_OBP0.281-0.003
predicted_R0.545-0.031
predicted_RBI0.558-0.031
predicted_SLG0.404-0.012
predicted_SO1.0990.006
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
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.1660.166
3B0.0070.007
BB0.3640.364
H0.814-0.186
HR0.2100.210
RBI0.484-0.516
SO1.1840.184
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.166
3B0.000-0.007
AB4.0000.000
AVG0.213-
BB1.0000.636
H1.0000.186
HR1.0000.789
OBP0.287-
R1.0000.000
RBI1.0000.516
SLG0.425-
SO1.000-0.184
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.168
predicted_3B0.000-0.000
predicted_AB4.000-0.044
predicted_AVG0.213-0.001
predicted_BB1.0000.622
predicted_H1.0000.136
predicted_HR1.0000.799
predicted_OBP0.2870.006
predicted_R1.0000.455
predicted_RBI1.0000.442
predicted_SLG0.4250.021
predicted_SO1.000-0.099
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2360.023
BB1.0000.000
H1.0000.000
HR1.0000.000
OBP0.3140.027
R1.0000.000
RBI1.0000.000
SLG0.4710.046
SO1.0000.000
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
BB0.000-1.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
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
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 167
Reference playing time: 4.260
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0001.0003.0003.0002.0007.0000.21050.27270.36840.21050.05260.15790.10530.3684
last_100.2010-35.0005.0000.0000.0001.0006.0003.0003.00011.0000.14290.19510.22860.14290.02860.17140.08570.3143
season0.60167-642.000159.00034.0000.00041.00094.000101.00065.000178.0000.24770.31660.49220.24770.06390.14640.10130.2773
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0010
predicted_AB3.7680
predicted_AVG0.2205
predicted_BB0.3680
predicted_H0.8310
predicted_HBP0.0110
predicted_HR0.2030
predicted_OBP0.2844
predicted_R0.5370
predicted_RBI0.5750
predicted_SLG0.4144
predicted_SO1.1290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20400.12200.1681model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.26003.76804.0444model_form_blend
predicted_AVG0.22100.22050.2208model_form_blend
predicted_BB0.38900.36800.3798model_form_blend
predicted_H0.94000.83100.8922model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.21000.20300.2069model_form_blend
predicted_OBP0.28300.28440.2836model_form_blend
predicted_R0.60500.53700.5752model_form_blend
predicted_RBI0.60000.57500.5890model_form_blend
predicted_SLG0.41700.41440.4159model_form_blend
predicted_SO1.06601.12901.0936model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date671
Season rows before report date671
Report year2026
Profile rows used167
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_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
gameID20261006_LAD@ATL
game_typefull
mlbID621566
playerID621566
playerNameMatt Olson
pos1B
startedTrue
startingPosition1B
teamATL
teamID2
game_date2026-10-06
sl_k_percent24.5
sl_bb_percent9.2
sl_woba0.351
sl_xwoba0.351
sl_xba0.247
sl_xslg0.503
sl_sweet_spot_percent32.0
sl_barrel_batted_rate14.2
sl_hard_hit_percent52.0
sl_exit_velocity_avg92.5
sl_launch_angle_avg18.1
sl_whiff_percent25.4
sl_swing_percent46.9
Ozzie Albies (645277) · BATTER · 2B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 660
All-history rows before 20261007: 660
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2439
Diff (system - data): -0.0039
System opponent_avg: 0.1000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1680.0000.000Hitting_2B0.1921.000-0.192-1.000
predicted_3B0.0120.0000.000Hitting_3B0.0030.000-0.0030.000
predicted_AB4.1003.0003.000Hitting_AB3.8524.000-0.852-1.000
predicted_AVG0.2110.0000.000Hitting_AVG0.2440.250-0.244-0.250
predicted_BB0.3051.0001.000Hitting_BB0.3180.0000.6821.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H0.8700.0000.000Hitting_H0.9391.000-0.939-1.000
predicted_HR0.1700.0000.000Hitting_HR0.1360.000-0.1360.000
predicted_OBP0.2990.2500.250Hitting_OBP0.3030.250-0.0530.000
predicted_R0.5331.0001.000Hitting_R0.5530.0000.4471.000
predicted_RBI0.5600.0000.000Hitting_RBI0.4610.000-0.4610.000
predicted_SB-0.0000.000BaseRunning_SB0.0210.000-0.0210.000
predicted_SLG0.4390.0000.000Hitting_SLG0.4020.500-0.402-0.500
predicted_SO0.6530.0000.000Hitting_SO0.6672.000-0.667-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_BB: 0.3050 -> 1.0000 (boost 0.6950, better)
Biggest Deboostpredicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65142predicted_BB: 0.3050 -> 0.3646 (boost 0.0596, better)predicted_AB: 4.1000 -> 3.9082 (deboost -0.1918, 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.4448 -> 0.4006 (deboost -0.0442, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_SO: 0.7136 -> 1.0000 (boost 0.2864, worse)predicted_RBI: 0.5307 -> 0.0000 (deboost -0.5307, worse)AB rounded to 4 (raw=4.10), rates preserved: AVG=0.178 HR/AB=0.044
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
7consistency_constraints10101-predicted_R: 0.4823 -> 0.0000 (deboost -0.4823, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4357 (boost 0.4357, better)predicted_H: 1.0000 -> 0.7633 (deboost -0.2367, 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_allocation83526predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4357 -> 0.0000 (deboost -0.4357, 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_environment33030predicted_SLG: 0.3690 -> 0.4080 (boost 0.0390, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_realization41322predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.4080 -> 0.3800 (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": "645277",
  "player_name": "Ozzie Albies",
  "position": "2B",
  "team": "ATL",
  "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.012,
        "predicted_AB": 4.1,
        "predicted_AVG": 0.211,
        "predicted_BB": 0.305,
        "predicted_H": 0.87,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.299,
        "predicted_R": 0.533,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.439,
        "predicted_SO": 0.653
      },
      "changed_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.019,
        "predicted_AB": 3.9082,
        "predicted_AVG": 0.2171,
        "predicted_BB": 0.3646,
        "predicted_H": 0.8499,
        "predicted_HBP": 0.052,
        "predicted_HR": 0.1853,
        "predicted_OBP": 0.305,
        "predicted_R": 0.5093,
        "predicted_RBI": 0.5604,
        "predicted_SLG": 0.4448,
        "predicted_SO": 0.7099
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.9082,
          "delta": -0.1918,
          "percent_delta": -0.0468,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.2171,
          "delta": 0.0061,
          "percent_delta": 0.0289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.305,
          "after": 0.3646,
          "delta": 0.0596,
          "percent_delta": 0.1954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.305,
          "delta": 0.006,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.439,
          "after": 0.4448,
          "delta": 0.0058,
          "percent_delta": 0.0132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.653,
          "after": 0.7099,
          "delta": 0.0569,
          "percent_delta": 0.0871,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.305,
          "after": 0.3646,
          "delta": 0.0596,
          "percent_delta": 0.1954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.9082,
          "delta": -0.1918,
          "percent_delta": -0.0468,
          "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": 167
      }
    },
    {
      "index": 3,
      "step": "team_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.019,
        "predicted_AB": 3.9082,
        "predicted_AVG": 0.2106,
        "predicted_BB": 0.3627,
        "predicted_H": 0.8229,
        "predicted_HBP": 0.052,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.2776,
        "predicted_R": 0.4823,
        "predicted_RBI": 0.5307,
        "predicted_SLG": 0.4006,
        "predicted_SO": 0.7136
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2171,
          "after": 0.2106,
          "delta": -0.0065,
          "percent_delta": -0.0299,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.2776,
          "delta": -0.0274,
          "percent_delta": -0.0898,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4448,
          "after": 0.4006,
          "delta": -0.0442,
          "percent_delta": -0.0994,
          "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.4448,
          "after": 0.4006,
          "delta": -0.0442,
          "percent_delta": -0.0994,
          "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.10), rates preserved: AVG=0.178 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1649,
          "after": 0.0,
          "delta": -0.1649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.9082,
          "after": 4.0,
          "delta": 0.0918,
          "percent_delta": 0.0235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3627,
          "after": 0.0,
          "delta": -0.3627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8229,
          "after": 1.0,
          "delta": 0.1771,
          "percent_delta": 0.2152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.052,
          "after": 0.0,
          "delta": -0.052,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.0,
          "delta": -0.18,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5307,
          "after": 0.0,
          "delta": -0.5307,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7136,
          "after": 1.0,
          "delta": 0.2864,
          "percent_delta": 0.4013,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7136,
          "after": 1.0,
          "delta": 0.2864,
          "percent_delta": 0.4013,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5307,
          "after": 0.0,
          "delta": -0.5307,
          "percent_delta": -1.0,
          "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.100)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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": 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.4823,
          "after": 0.0,
          "delta": -0.4823,
          "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.4823,
          "after": 0.0,
          "delta": -0.4823,
          "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.1497,
        "predicted_3B": 0.0103,
        "predicted_BB": 0.2875,
        "predicted_H": 0.7633,
        "predicted_HR": 0.1356,
        "predicted_RBI": 0.4357,
        "predicted_SO": 0.781
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1497,
          "delta": 0.1497,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2875,
          "delta": 0.2875,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7633,
          "delta": -0.2367,
          "percent_delta": -0.2367,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1356,
          "delta": 0.1356,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4357,
          "delta": 0.4357,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.781,
          "delta": -0.219,
          "percent_delta": -0.219,
          "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.4357,
          "delta": 0.4357,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7633,
          "delta": -0.2367,
          "percent_delta": -0.2367,
          "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.274,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.369,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1497,
          "after": 0.0,
          "delta": -0.1497,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2875,
          "after": 0.0,
          "delta": -0.2875,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7633,
          "after": 1.0,
          "delta": 0.2367,
          "percent_delta": 0.3101,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1356,
          "after": 0.0,
          "delta": -0.1356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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.4357,
          "after": 0.0,
          "delta": -0.4357,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4006,
          "after": 0.369,
          "delta": -0.0316,
          "percent_delta": -0.0789,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.781,
          "after": 1.0,
          "delta": 0.219,
          "percent_delta": 0.2804,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_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.4357,
          "after": 0.0,
          "delta": -0.4357,
          "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.274,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.369,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.233,
          "delta": 0.023,
          "percent_delta": 0.1095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.274,
          "after": 0.3,
          "delta": 0.026,
          "percent_delta": 0.0949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.408,
          "delta": 0.039,
          "percent_delta": 0.1057,
          "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.369,
          "after": 0.408,
          "delta": 0.039,
          "percent_delta": 0.1057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 3.0,
        "predicted_BB": 1.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": 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_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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 3.0,
        "predicted_BB": 1.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": 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": 3.0,
        "predicted_AVG": 0.212,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.212,
          "delta": -0.021,
          "percent_delta": -0.0901,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.286,
          "delta": -0.014,
          "percent_delta": -0.0467,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.38,
          "delta": -0.028,
          "percent_delta": -0.0686,
          "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.408,
          "after": 0.38,
          "delta": -0.028,
          "percent_delta": -0.0686,
          "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.168,
        "after": 0.0,
        "delta": -0.168,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 3.0,
        "delta": -1.1,
        "percent_delta": -0.2683,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.305,
        "after": 1.0,
        "delta": 0.695,
        "percent_delta": 2.2787,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.052,
        "after": 0.0,
        "delta": -0.052,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.286,
        "delta": -0.013,
        "percent_delta": -0.0435,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.533,
        "after": 1.0,
        "delta": 0.467,
        "percent_delta": 0.8762,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.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.38,
        "delta": -0.059,
        "percent_delta": -0.1344,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.653,
        "after": 0.0,
        "delta": -0.653,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.305,
        "after": 1.0,
        "delta": 0.695,
        "percent_delta": 2.2787,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 3.0,
        "delta": -1.1,
        "percent_delta": -0.2683,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.168-
predicted_3B0.012-
predicted_AB4.100-
predicted_AVG0.211-
predicted_BB0.305-
predicted_H0.870-
predicted_HR0.170-
predicted_OBP0.299-
predicted_R0.533-
predicted_RBI0.560-
predicted_SLG0.439-
predicted_SO0.653-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.0190.007
predicted_AB3.908-0.192
predicted_AVG0.2170.006
predicted_BB0.3650.060
predicted_H0.850-0.020
predicted_HBP0.052-
predicted_HR0.1850.015
predicted_OBP0.3050.006
predicted_R0.509-0.024
predicted_RBI0.5600.000
predicted_SLG0.4450.006
predicted_SO0.7100.057
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1650.000
predicted_3B0.0190.000
predicted_AB3.9080.000
predicted_AVG0.211-0.006
predicted_BB0.363-0.002
predicted_H0.823-0.027
predicted_HBP0.0520.000
predicted_HR0.180-0.005
predicted_OBP0.278-0.027
predicted_R0.482-0.027
predicted_RBI0.531-0.030
predicted_SLG0.401-0.044
predicted_SO0.7140.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1500.150
3B0.0100.010
BB0.2870.287
H0.763-0.237
HR0.1360.136
RBI0.4360.436
SO0.781-0.219
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.010
AB4.0000.000
AVG0.210-
BB0.000-0.287
H1.0000.237
HR0.000-0.136
OBP0.274-
R1.0001.000
RBI0.000-0.436
SLG0.369-
SO1.0000.219
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.019
predicted_AB4.0000.092
predicted_AVG0.210-0.001
predicted_BB0.000-0.363
predicted_H1.0000.177
predicted_HR0.000-0.180
predicted_OBP0.274-0.004
predicted_R1.0000.518
predicted_RBI0.000-0.531
predicted_SLG0.369-0.032
predicted_SO1.0000.286
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2330.023
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3000.026
R1.0000.000
RBI0.0000.000
SLG0.4080.039
SO1.0000.000
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
AB3.000-1.000
BB1.0001.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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
AB3.0000.000
BB1.0000.000
H0.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: 167
Reference playing time: 4.100
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0001.0000.0002.0004.0002.0004.0004.0000.22220.36360.61110.22220.11110.22220.22220.2222
last_100.2010-34.0006.0001.0001.0002.0006.0004.0005.00011.0000.17650.30000.44120.17650.05880.17650.14710.3235
season0.60167-628.000151.00028.0002.00024.00078.00089.00051.000109.0000.24040.30060.40610.24040.03820.12420.08120.1736
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1610
predicted_3B0.0280
predicted_AB3.6620
predicted_AVG0.2250
predicted_BB0.4410
predicted_H0.8240
predicted_HBP0.0520
predicted_HR0.2050
predicted_OBP0.3128
predicted_R0.4790
predicted_RBI0.5610
predicted_SLG0.4522
predicted_SO0.7830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.16100.1649model_form_blend
predicted_3B0.01200.02800.0190model_form_blend
predicted_AB4.10003.66203.9082model_form_blend
predicted_AVG0.21100.22500.2171model_form_blend
predicted_BB0.30500.44100.3646model_form_blend
predicted_H0.87000.82400.8499model_form_blend
predicted_HBP-0.05200.0520form_only
predicted_HR0.17000.20500.1853model_form_blend
predicted_OBP0.29900.31280.3050model_form_blend
predicted_R0.53300.47900.5093model_form_blend
predicted_RBI0.56000.56100.5604model_form_blend
predicted_SLG0.43900.45220.4448model_form_blend
predicted_SO0.65300.78300.7099model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R1
RBI0
BB1
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayed2B
gameID20261006_LAD@ATL
game_typefull
mlbID645277
playerID645277
playerNameOzzie Albies
pos2B
startedTrue
startingPosition2B
teamATL
teamID2
game_date2026-10-06
sl_k_percent15.4
sl_bb_percent6.7
sl_woba0.298
sl_xwoba0.273
sl_xba0.221
sl_xslg0.337
sl_sweet_spot_percent32.3
sl_barrel_batted_rate3.8
sl_hard_hit_percent27.7
sl_exit_velocity_avg87.1
sl_launch_angle_avg17.8
sl_whiff_percent21.2
sl_swing_percent56.1
Drake Baldwin (686948) · BATTER · DH · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 588
All-history rows before 20261007: 588
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2826
Diff (system - data): -0.0046
System opponent_avg: 0.2390

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1471.0001.000Hitting_2B0.1410.0000.8591.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9444.0004.000Hitting_AB3.9784.0000.0220.000
predicted_AVG0.2780.2500.250Hitting_AVG0.2830.000-0.0330.250
predicted_BB0.4060.0000.000Hitting_BB0.4220.000-0.4220.000
predicted_CS-0.0000.000BaseRunning_CS0.0050.000-0.0050.000
predicted_H1.0981.0001.000Hitting_H1.1240.000-0.1241.000
predicted_HR0.1750.0000.000Hitting_HR0.1800.000-0.1800.000
predicted_OBP0.3460.2500.250Hitting_OBP0.3600.000-0.1100.250
predicted_R0.5870.0000.000Hitting_R0.6210.000-0.6210.000
predicted_RBI0.5661.0001.000Hitting_RBI0.6071.0000.3930.000
predicted_SLG0.4490.5000.500Hitting_SLG0.4540.0000.0460.500
predicted_SO0.9441.0001.000Hitting_SO0.9542.0000.046-1.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_2B: 0.1470 -> 1.0000 (boost 0.8530, better)
Biggest Deboostpredicted_R: 0.5870 -> 0.0000 (deboost -0.5870, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_R: 0.5870 -> 0.5036 (deboost -0.0834, 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.3344 -> 0.3228 (deboost -0.0116, 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.5083 -> 1.0000 (boost 0.4917, better)predicted_BB: 0.4091 -> 0.0000 (deboost -0.4091, worse)AB rounded to 4 (raw=3.94), rates preserved: AVG=0.224 HR/AB=0.038
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4769 -> 0.0000 (deboost -0.4769, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3739 (boost 0.3739, better)predicted_RBI: 1.0000 -> 0.5074 (deboost -0.4926, 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_BB: 0.3739 -> 1.0000 (boost 0.6261, better)predicted_HR: 0.1661 -> 0.0000 (deboost -0.1661, 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_environment44040predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_realization31212predicted_2B: 0.0000 -> 1.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.4490 -> 0.4260 (deboost -0.0230, 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": "686948",
  "player_name": "Drake Baldwin",
  "position": "DH",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.147,
        "predicted_3B": 0.0,
        "predicted_AB": 3.944,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.406,
        "predicted_H": 1.098,
        "predicted_HR": 0.175,
        "predicted_OBP": 0.346,
        "predicted_R": 0.587,
        "predicted_RBI": 0.566,
        "predicted_SLG": 0.449,
        "predicted_SO": 0.944
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9423,
        "predicted_AVG": 0.2606,
        "predicted_BB": 0.4112,
        "predicted_H": 1.0281,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.1532,
        "predicted_OBP": 0.3344,
        "predicted_R": 0.5036,
        "predicted_RBI": 0.5367,
        "predicted_SLG": 0.4172,
        "predicted_SO": 0.9436
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.278,
          "after": 0.2606,
          "delta": -0.0174,
          "percent_delta": -0.0626,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.098,
          "after": 1.0281,
          "delta": -0.0699,
          "percent_delta": -0.0637,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.346,
          "after": 0.3344,
          "delta": -0.0116,
          "percent_delta": -0.0335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.587,
          "after": 0.5036,
          "delta": -0.0834,
          "percent_delta": -0.1421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.4172,
          "delta": -0.0318,
          "percent_delta": -0.0708,
          "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_R",
          "before": 0.587,
          "after": 0.5036,
          "delta": -0.0834,
          "percent_delta": -0.1421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 143
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9423,
        "predicted_AVG": 0.2525,
        "predicted_BB": 0.4091,
        "predicted_H": 0.9954,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.1488,
        "predicted_OBP": 0.3228,
        "predicted_R": 0.4769,
        "predicted_RBI": 0.5083,
        "predicted_SLG": 0.4057,
        "predicted_SO": 0.9485
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2606,
          "after": 0.2525,
          "delta": -0.0081,
          "percent_delta": -0.0311,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3344,
          "after": 0.3228,
          "delta": -0.0116,
          "percent_delta": -0.0347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4172,
          "after": 0.4057,
          "delta": -0.0115,
          "percent_delta": -0.0276,
          "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.3344,
          "after": 0.3228,
          "delta": -0.0116,
          "percent_delta": -0.0347,
          "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.94), rates preserved: AVG=0.224 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.1566,
          "after": 0.0,
          "delta": -0.1566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.9423,
          "after": 4.0,
          "delta": 0.0577,
          "percent_delta": 0.0146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4091,
          "after": 0.0,
          "delta": -0.4091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.056,
          "after": 0.0,
          "delta": -0.056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1488,
          "after": 0.0,
          "delta": -0.1488,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5083,
          "after": 1.0,
          "delta": 0.4917,
          "percent_delta": 0.9673,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9485,
          "after": 1.0,
          "delta": 0.0515,
          "percent_delta": 0.0543,
          "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.5083,
          "after": 1.0,
          "delta": 0.4917,
          "percent_delta": 0.9673,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4091,
          "after": 0.0,
          "delta": -0.4091,
          "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": 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.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": 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.4769,
          "after": 0.0,
          "delta": -0.4769,
          "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.4769,
          "after": 0.0,
          "delta": -0.4769,
          "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.1546,
        "predicted_3B": 0.0074,
        "predicted_BB": 0.3739,
        "predicted_H": 0.9108,
        "predicted_HR": 0.1661,
        "predicted_RBI": 0.5074,
        "predicted_SO": 1.0697
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1546,
          "delta": 0.1546,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3739,
          "delta": 0.3739,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9108,
          "delta": -0.0892,
          "percent_delta": -0.0892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1661,
          "delta": 0.1661,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5074,
          "delta": -0.4926,
          "percent_delta": -0.4926,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0697,
          "delta": 0.0697,
          "percent_delta": 0.0697,
          "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.3739,
          "delta": 0.3739,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5074,
          "delta": -0.4926,
          "percent_delta": -0.4926,
          "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.234,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1546,
          "after": 0.0,
          "delta": -0.1546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2525,
          "after": 0.234,
          "delta": -0.0185,
          "percent_delta": -0.0733,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3739,
          "after": 1.0,
          "delta": 0.6261,
          "percent_delta": 1.6745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9108,
          "after": 1.0,
          "delta": 0.0892,
          "percent_delta": 0.0979,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1661,
          "after": 0.0,
          "delta": -0.1661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3228,
          "after": 0.307,
          "delta": -0.0158,
          "percent_delta": -0.0489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5074,
          "after": 1.0,
          "delta": 0.4926,
          "percent_delta": 0.9708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0697,
          "after": 1.0,
          "delta": -0.0697,
          "percent_delta": -0.0652,
          "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_BB",
          "before": 0.3739,
          "after": 1.0,
          "delta": 0.6261,
          "percent_delta": 1.6745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1661,
          "after": 0.0,
          "delta": -0.1661,
          "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.234,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.259,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.449,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.259,
          "delta": 0.025,
          "percent_delta": 0.1068,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.336,
          "delta": 0.029,
          "percent_delta": 0.0945,
          "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_SLG",
          "before": 0.406,
          "after": 0.449,
          "delta": 0.043,
          "percent_delta": 0.1059,
          "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_R",
          "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": "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": 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_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_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": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 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": 4.0,
        "predicted_AVG": 0.24,
        "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.314,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.426,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.24,
          "delta": -0.019,
          "percent_delta": -0.0734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.314,
          "delta": -0.022,
          "percent_delta": -0.0655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.426,
          "delta": -0.023,
          "percent_delta": -0.0512,
          "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.449,
          "after": 0.426,
          "delta": -0.023,
          "percent_delta": -0.0512,
          "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.147,
        "after": 1.0,
        "delta": 0.853,
        "percent_delta": 5.8027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.944,
        "after": 4.0,
        "delta": 0.056,
        "percent_delta": 0.0142,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.278,
        "after": 0.24,
        "delta": -0.038,
        "percent_delta": -0.1367,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.406,
        "after": 0.0,
        "delta": -0.406,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.098,
        "after": 1.0,
        "delta": -0.098,
        "percent_delta": -0.0893,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.056,
        "after": 0.0,
        "delta": -0.056,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.346,
        "after": 0.314,
        "delta": -0.032,
        "percent_delta": -0.0925,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.587,
        "after": 0.0,
        "delta": -0.587,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.566,
        "after": 1.0,
        "delta": 0.434,
        "percent_delta": 0.7668,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.449,
        "after": 0.426,
        "delta": -0.023,
        "percent_delta": -0.0512,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.944,
        "after": 1.0,
        "delta": 0.056,
        "percent_delta": 0.0593,
        "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_2B",
        "before": 0.147,
        "after": 1.0,
        "delta": 0.853,
        "percent_delta": 5.8027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.587,
        "after": 0.0,
        "delta": -0.587,
        "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.147-
predicted_3B0.000-
predicted_AB3.944-
predicted_AVG0.278-
predicted_BB0.406-
predicted_H1.098-
predicted_HR0.175-
predicted_OBP0.346-
predicted_R0.587-
predicted_RBI0.566-
predicted_SLG0.449-
predicted_SO0.944-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1570.010
predicted_3B0.0000.000
predicted_AB3.942-0.002
predicted_AVG0.261-0.017
predicted_BB0.4110.005
predicted_H1.028-0.070
predicted_HBP0.056-
predicted_HR0.153-0.022
predicted_OBP0.334-0.012
predicted_R0.504-0.083
predicted_RBI0.537-0.029
predicted_SLG0.417-0.032
predicted_SO0.944-0.000
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1570.000
predicted_3B0.0000.000
predicted_AB3.9420.000
predicted_AVG0.253-0.008
predicted_BB0.409-0.002
predicted_H0.995-0.033
predicted_HBP0.0560.000
predicted_HR0.149-0.004
predicted_OBP0.323-0.012
predicted_R0.477-0.027
predicted_RBI0.508-0.028
predicted_SLG0.406-0.012
predicted_SO0.9490.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1550.155
3B0.0070.007
BB0.3740.374
H0.911-0.089
HR0.1660.166
RBI0.507-0.493
SO1.0700.070
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.007
AB4.0000.000
AVG0.234-
BB1.0000.626
H1.0000.089
HR0.000-0.166
OBP0.307-
R0.0000.000
RBI1.0000.493
SLG0.406-
SO1.000-0.070
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.157
predicted_3B0.000-0.000
predicted_AB4.0000.058
predicted_AVG0.234-0.018
predicted_BB1.0000.591
predicted_H1.0000.005
predicted_HR0.000-0.149
predicted_OBP0.307-0.016
predicted_R0.000-0.477
predicted_RBI1.0000.492
predicted_SLG0.4060.000
predicted_SO1.0000.051
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2590.025
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3360.029
R1.0001.000
RBI1.0000.000
SLG0.4490.043
SO1.0000.000
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.0001.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
RBI1.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
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
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: 143
Reference playing time: 3.944
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0001.0000.0000.0002.0000.0003.0005.0000.15790.27270.21050.15790.00000.10530.15790.2632
last_100.2010-41.0008.0002.0000.0001.0004.0002.0003.0009.0000.19510.26670.31710.19510.02440.09760.07320.2195
season0.60143-564.000157.00021.0000.00025.00081.00084.00058.000135.0000.27840.35390.44860.27840.04430.14360.10280.2394
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0010
predicted_AB3.9400
predicted_AVG0.2381
predicted_BB0.4180
predicted_H0.9380
predicted_HBP0.0560
predicted_HR0.1250
predicted_OBP0.3195
predicted_R0.3960
predicted_RBI0.4990
predicted_SLG0.3761
predicted_SO0.9430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14700.16900.1566model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.94403.94003.9423model_form_blend
predicted_AVG0.27800.23810.2606model_form_blend
predicted_BB0.40600.41800.4112model_form_blend
predicted_H1.09800.93801.0281model_form_blend
predicted_HBP-0.05600.0560form_only
predicted_HR0.17500.12500.1532model_form_blend
predicted_OBP0.34600.31950.3344model_form_blend
predicted_R0.58700.39600.5036model_form_blend
predicted_RBI0.56600.49900.5367model_form_blend
predicted_SLG0.44900.37610.4172model_form_blend
predicted_SO0.94400.94300.9436model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
3B0
HR0
R0
RBI1
BB0
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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261006_LAD@ATL
game_typefull
mlbID686948
playerID686948
playerNameDrake Baldwin
posC
startedTrue
startingPositionC
teamATL
teamID2
game_date2026-10-06
sl_k_percent21.5
sl_bb_percent8.9
sl_woba0.358
sl_xwoba0.37
sl_xba0.279
sl_xslg0.505
sl_sweet_spot_percent37.5
sl_barrel_batted_rate12.9
sl_hard_hit_percent50.6
sl_exit_velocity_avg91.5
sl_launch_angle_avg11.0
sl_whiff_percent24.4
sl_swing_percent51.2
Mike Yastrzemski (573262) · BATTER · LF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 387
All-history rows before 20261007: 387
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2222
Diff (system - data): -0.0012
System opponent_avg: 0.2110

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1310.0000.000Hitting_2B0.1500.000-0.1500.000
predicted_3B0.0070.0000.000Hitting_3B0.0050.000-0.0050.000
predicted_AB2.6794.0004.000Hitting_AB2.9301.0001.0703.000
predicted_AVG0.1850.2500.250Hitting_AVG0.2220.0000.0280.250
predicted_BB0.2770.0000.000Hitting_BB0.3590.000-0.3590.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1901.0001.000Hitting_H0.6510.0000.3491.000
predicted_HR0.0401.0001.000Hitting_HR0.0800.0000.9201.000
predicted_OBP0.2000.2500.250Hitting_OBP0.3120.000-0.0620.250
predicted_R0.3501.0001.000Hitting_R0.4010.0000.5991.000
predicted_RBI0.1101.0001.000Hitting_RBI0.3150.0000.6851.000
predicted_SLG0.2871.0001.000Hitting_SLG0.3590.0000.6411.000
predicted_SO0.7232.0002.000Hitting_SO0.7620.0001.2382.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics9
Deboosted Metrics2
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_AB: 2.6790 -> 4.0000 (boost 1.3210, better)
Biggest Deboostpredicted_BB: 0.2770 -> 0.0000 (deboost -0.2770, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_H: 0.1900 -> 0.3040 (boost 0.1140, better)predicted_SLG: 0.2870 -> 0.2787 (deboost -0.0083, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.2787 -> 0.2068 (deboost -0.0719, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_AB: 2.6670 -> 4.0000 (boost 1.3330, better)predicted_H: 0.2943 -> 0.0000 (deboost -0.2943, worse)AB rounded to 4 (raw=2.68), rates preserved: AVG=0.098 HR/AB=0.017
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.2854 -> 0.0000 (deboost -0.2854, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine66051predicted_H: 0.0000 -> 0.7416 (boost 0.7416, 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_allocation94554predicted_H: 0.7416 -> 1.0000 (boost 0.2584, better)predicted_RBI: 0.4124 -> 0.0000 (deboost -0.4124, 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_environment33030predicted_SLG: 0.3610 -> 0.4000 (boost 0.0390, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_realization44031predicted_HR: 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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.4000 -> 0.3620 (deboost -0.0380, 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": "573262",
  "player_name": "Mike Yastrzemski",
  "position": "LF",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.131,
        "predicted_3B": 0.007,
        "predicted_AB": 2.679,
        "predicted_AVG": 0.185,
        "predicted_BB": 0.277,
        "predicted_H": 0.19,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.2,
        "predicted_R": 0.35,
        "predicted_RBI": 0.11,
        "predicted_SLG": 0.287,
        "predicted_SO": 0.723
      },
      "changed_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.1095,
        "predicted_3B": 0.0061,
        "predicted_AB": 2.667,
        "predicted_AVG": 0.1792,
        "predicted_BB": 0.2456,
        "predicted_H": 0.304,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0465,
        "predicted_OBP": 0.2132,
        "predicted_R": 0.3014,
        "predicted_RBI": 0.1792,
        "predicted_SLG": 0.2787,
        "predicted_SO": 0.7441
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.185,
          "after": 0.1792,
          "delta": -0.0058,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.19,
          "after": 0.304,
          "delta": 0.114,
          "percent_delta": 0.6,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2,
          "after": 0.2132,
          "delta": 0.0132,
          "percent_delta": 0.066,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.11,
          "after": 0.1792,
          "delta": 0.0692,
          "percent_delta": 0.6291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.287,
          "after": 0.2787,
          "delta": -0.0083,
          "percent_delta": -0.0289,
          "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_H",
          "before": 0.19,
          "after": 0.304,
          "delta": 0.114,
          "percent_delta": 0.6,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.287,
          "after": 0.2787,
          "delta": -0.0083,
          "percent_delta": -0.0289,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 137
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1095,
        "predicted_3B": 0.0061,
        "predicted_AB": 2.667,
        "predicted_AVG": 0.1104,
        "predicted_BB": 0.2443,
        "predicted_H": 0.2943,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0452,
        "predicted_OBP": 0.185,
        "predicted_R": 0.2854,
        "predicted_RBI": 0.1697,
        "predicted_SLG": 0.2068,
        "predicted_SO": 0.748
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.1792,
          "after": 0.1104,
          "delta": -0.0688,
          "percent_delta": -0.3839,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2132,
          "after": 0.185,
          "delta": -0.0282,
          "percent_delta": -0.1323,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2787,
          "after": 0.2068,
          "delta": -0.0719,
          "percent_delta": -0.258,
          "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.2787,
          "after": 0.2068,
          "delta": -0.0719,
          "percent_delta": -0.258,
          "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=2.68), rates preserved: AVG=0.098 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1095,
          "after": 0.0,
          "delta": -0.1095,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.667,
          "after": 4.0,
          "delta": 1.333,
          "percent_delta": 0.4998,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2443,
          "after": 0.0,
          "delta": -0.2443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.2943,
          "after": 0.0,
          "delta": -0.2943,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1697,
          "after": 0.0,
          "delta": -0.1697,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.748,
          "after": 1.0,
          "delta": 0.252,
          "percent_delta": 0.3369,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.667,
          "after": 4.0,
          "delta": 1.333,
          "percent_delta": 0.4998,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.2943,
          "after": 0.0,
          "delta": -0.2943,
          "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": 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.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": 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.2854,
          "after": 0.0,
          "delta": -0.2854,
          "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.2854,
          "after": 0.0,
          "delta": -0.2854,
          "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.1542,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.3425,
        "predicted_H": 0.7416,
        "predicted_HR": 0.1213,
        "predicted_RBI": 0.4124,
        "predicted_SO": 1.1384
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1542,
          "delta": 0.1542,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3425,
          "delta": 0.3425,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.7416,
          "delta": 0.7416,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1213,
          "delta": 0.1213,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4124,
          "delta": 0.4124,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1384,
          "delta": 0.1384,
          "percent_delta": 0.1384,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.7416,
          "delta": 0.7416,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.209,
        "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.361,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1542,
          "after": 0.0,
          "delta": -0.1542,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1104,
          "after": 0.209,
          "delta": 0.0986,
          "percent_delta": 0.8931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3425,
          "after": 0.0,
          "delta": -0.3425,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7416,
          "after": 1.0,
          "delta": 0.2584,
          "percent_delta": 0.3484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1213,
          "after": 0.0,
          "delta": -0.1213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.185,
          "after": 0.284,
          "delta": 0.099,
          "percent_delta": 0.5351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4124,
          "after": 0.0,
          "delta": -0.4124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2068,
          "after": 0.361,
          "delta": 0.1542,
          "percent_delta": 0.7456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1384,
          "after": 1.0,
          "delta": -0.1384,
          "percent_delta": -0.1216,
          "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.7416,
          "after": 1.0,
          "delta": 0.2584,
          "percent_delta": 0.3484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4124,
          "after": 0.0,
          "delta": -0.4124,
          "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.209,
        "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.361,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.232,
          "delta": 0.023,
          "percent_delta": 0.11,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.311,
          "delta": 0.027,
          "percent_delta": 0.0951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.4,
          "delta": 0.039,
          "percent_delta": 0.108,
          "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.361,
          "after": 0.4,
          "delta": 0.039,
          "percent_delta": 0.108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": 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": 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": 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.199,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 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.362,
        "predicted_SO": 2.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.199,
          "delta": -0.033,
          "percent_delta": -0.1422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.276,
          "delta": -0.035,
          "percent_delta": -0.1125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.362,
          "delta": -0.038,
          "percent_delta": -0.095,
          "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.4,
          "after": 0.362,
          "delta": -0.038,
          "percent_delta": -0.095,
          "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.131,
        "after": 0.0,
        "delta": -0.131,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.679,
        "after": 4.0,
        "delta": 1.321,
        "percent_delta": 0.4931,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.185,
        "after": 0.199,
        "delta": 0.014,
        "percent_delta": 0.0757,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.277,
        "after": 0.0,
        "delta": -0.277,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 1.0,
        "delta": 0.96,
        "percent_delta": 24.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.2,
        "after": 0.276,
        "delta": 0.076,
        "percent_delta": 0.38,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.35,
        "after": 1.0,
        "delta": 0.65,
        "percent_delta": 1.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.287,
        "after": 0.362,
        "delta": 0.075,
        "percent_delta": 0.2613,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.723,
        "after": 2.0,
        "delta": 1.277,
        "percent_delta": 1.7663,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 9,
      "deboosted_metrics": 2,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.679,
        "after": 4.0,
        "delta": 1.321,
        "percent_delta": 0.4931,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.277,
        "after": 0.0,
        "delta": -0.277,
        "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.131-
predicted_3B0.007-
predicted_AB2.679-
predicted_AVG0.185-
predicted_BB0.277-
predicted_H0.190-
predicted_HR0.040-
predicted_OBP0.200-
predicted_R0.350-
predicted_RBI0.110-
predicted_SLG0.287-
predicted_SO0.723-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.110-0.022
predicted_3B0.006-0.001
predicted_AB2.667-0.012
predicted_AVG0.179-0.006
predicted_BB0.246-0.031
predicted_H0.3040.114
predicted_HBP0.014-
predicted_HR0.0460.006
predicted_OBP0.2130.013
predicted_R0.301-0.049
predicted_RBI0.1790.069
predicted_SLG0.279-0.008
predicted_SO0.7440.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.1100.000
predicted_3B0.0060.000
predicted_AB2.6670.000
predicted_AVG0.110-0.069
predicted_BB0.244-0.001
predicted_H0.294-0.010
predicted_HBP0.0140.000
predicted_HR0.045-0.001
predicted_OBP0.185-0.028
predicted_R0.285-0.016
predicted_RBI0.170-0.010
predicted_SLG0.207-0.072
predicted_SO0.7480.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=2.68), rates preserved: AVG=0.098 HR/AB=0.017

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
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
AB4.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1540.154
3B0.0100.010
BB0.3430.343
H0.7420.742
HR0.1210.121
RBI0.4120.412
SO1.1380.138
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.154
3B0.000-0.010
AB4.0000.000
AVG0.209-
BB0.000-0.343
H1.0000.258
HR0.000-0.121
OBP0.284-
R0.0000.000
RBI0.000-0.412
SLG0.361-
SO1.000-0.138
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.110
predicted_3B0.000-0.006
predicted_AB4.0001.333
predicted_AVG0.2090.099
predicted_BB0.000-0.244
predicted_H1.0000.706
predicted_HR0.000-0.045
predicted_OBP0.2840.099
predicted_R0.000-0.285
predicted_RBI0.000-0.170
predicted_SLG0.3610.154
predicted_SO1.0000.252
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2320.023
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3110.027
R0.0000.000
RBI0.0000.000
SLG0.4000.039
SO1.0000.000
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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0001.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
H1.0000.000
HBP0.0000.000
HR1.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: 137
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0001.0000.0000.0000.0001.0000.0000.0004.0000.09090.09090.09090.09090.00000.09090.00000.3636
last_100.2010-26.0002.0000.0000.0000.0002.0001.0002.0008.0000.07690.14290.07690.07690.00000.07690.07690.3077
season0.60137-367.00081.00018.0001.00012.00041.00048.00038.00099.0000.22070.29760.37330.22070.03270.11170.10350.2697
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0810
predicted_3B0.0050
predicted_AB2.6510
predicted_AVG0.1716
predicted_BB0.2040
predicted_H0.4550
predicted_HBP0.0140
predicted_HR0.0550
predicted_OBP0.2308
predicted_R0.2370
predicted_RBI0.2710
predicted_SLG0.2677
predicted_SO0.7720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13100.08100.1095model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB2.67902.65102.6670model_form_blend
predicted_AVG0.18500.17160.1792model_form_blend
predicted_BB0.27700.20400.2456model_form_blend
predicted_H0.19000.45500.3040model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.04000.05500.0465model_form_blend
predicted_OBP0.20000.23080.2132model_form_blend
predicted_R0.35000.23700.3014model_form_blend
predicted_RBI0.11000.27100.1792model_form_blend
predicted_SLG0.28700.26770.2787model_form_blend
predicted_SO0.72300.77200.7441model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI1
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_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_battingOrder7
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20261006_LAD@ATL
game_typeph
mlbID573262
noteGrounded out for Thomas, L in the 9th.
playerID573262
playerNameMike Yastrzemski
posLF
startedFalse
startingPositionPH
teamATL
teamID2
game_date2026-10-06
sl_k_percent24.0
sl_bb_percent10.0
sl_woba0.306
sl_xwoba0.309
sl_xba0.235
sl_xslg0.368
sl_sweet_spot_percent31.3
sl_barrel_batted_rate6.8
sl_hard_hit_percent43.0
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.2
sl_whiff_percent23.2
sl_swing_percent42.6
Mauricio Dubón (643289) · BATTER · SS · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 595
All-history rows before 20261007: 595
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2779
Diff (system - data): -0.0019
System opponent_avg: 0.2570

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1840.0000.000Hitting_2B0.1920.000-0.1920.000
predicted_3B0.0190.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB3.7224.0004.000Hitting_AB3.8224.0000.1780.000
predicted_AVG0.2760.2500.250Hitting_AVG0.2780.250-0.0280.000
predicted_BB0.2340.0000.000Hitting_BB0.2470.000-0.2470.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.0251.0001.000Hitting_H1.0621.000-0.0620.000
predicted_HR0.0761.0001.000Hitting_HR0.0810.0000.9191.000
predicted_OBP0.3180.2500.250Hitting_OBP0.3250.250-0.0750.000
predicted_R0.4241.0001.000Hitting_R0.4471.0000.5530.000
predicted_RBI0.4681.0001.000Hitting_RBI0.5090.0000.4911.000
predicted_SLG0.3961.0001.000Hitting_SLG0.4030.2500.5970.750
predicted_SO0.5001.0001.000Hitting_SO0.4870.0000.5131.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_HR: 0.0760 -> 1.0000 (boost 0.9240, better)
Biggest Deboostpredicted_BB: 0.2340 -> 0.0000 (deboost -0.2340, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_SLG: 0.3960 -> 0.3807 (deboost -0.0153, 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.3807 -> 0.3706 (deboost -0.0101, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_SO: 0.5425 -> 1.0000 (boost 0.4575, worse)predicted_RBI: 0.4172 -> 0.0000 (deboost -0.4172, worse)AB rounded to 4 (raw=3.74), rates preserved: AVG=0.233 HR/AB=0.019
6consistency_constraints10101-predicted_R: 0.3837 -> 0.0000 (deboost -0.3837, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4597 (boost 0.4597, better)predicted_SO: 1.0000 -> 0.6282 (deboost -0.3718, 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_allocation83526predicted_RBI: 0.4597 -> 1.0000 (boost 0.5403, better)predicted_BB: 0.2233 -> 0.0000 (deboost -0.2233, 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_environment33030predicted_SLG: 0.3690 -> 0.4090 (boost 0.0400, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization22020predicted_HR: 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": "643289",
  "player_name": "Mauricio Dubón",
  "position": "SS",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.184,
        "predicted_3B": 0.019,
        "predicted_AB": 3.722,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.234,
        "predicted_H": 1.025,
        "predicted_HR": 0.076,
        "predicted_OBP": 0.318,
        "predicted_R": 0.424,
        "predicted_RBI": 0.468,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.5
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1617,
        "predicted_3B": 0.0159,
        "predicted_AB": 3.7364,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.2537,
        "predicted_H": 1.011,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0729,
        "predicted_OBP": 0.3178,
        "predicted_R": 0.4052,
        "predicted_RBI": 0.4405,
        "predicted_SLG": 0.3807,
        "predicted_SO": 0.5397
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.271,
          "delta": -0.005,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3807,
          "delta": -0.0153,
          "percent_delta": -0.0386,
          "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.396,
          "after": 0.3807,
          "delta": -0.0153,
          "percent_delta": -0.0386,
          "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.1617,
        "predicted_3B": 0.0159,
        "predicted_AB": 3.7364,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.2524,
        "predicted_H": 0.9789,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0708,
        "predicted_OBP": 0.3087,
        "predicted_R": 0.3837,
        "predicted_RBI": 0.4172,
        "predicted_SLG": 0.3706,
        "predicted_SO": 0.5425
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.262,
          "delta": -0.009,
          "percent_delta": -0.0332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3178,
          "after": 0.3087,
          "delta": -0.0091,
          "percent_delta": -0.0286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3807,
          "after": 0.3706,
          "delta": -0.0101,
          "percent_delta": -0.0265,
          "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.3807,
          "after": 0.3706,
          "delta": -0.0101,
          "percent_delta": -0.0265,
          "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.74), rates preserved: AVG=0.233 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1617,
          "after": 0.0,
          "delta": -0.1617,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7364,
          "after": 4.0,
          "delta": 0.2636,
          "percent_delta": 0.0705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2524,
          "after": 0.0,
          "delta": -0.2524,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0708,
          "after": 0.0,
          "delta": -0.0708,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4172,
          "after": 0.0,
          "delta": -0.4172,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5425,
          "after": 1.0,
          "delta": 0.4575,
          "percent_delta": 0.8433,
          "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.5425,
          "after": 1.0,
          "delta": 0.4575,
          "percent_delta": 0.8433,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4172,
          "after": 0.0,
          "delta": -0.4172,
          "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.3837,
          "after": 0.0,
          "delta": -0.3837,
          "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.3837,
          "after": 0.0,
          "delta": -0.3837,
          "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.1571,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.2233,
        "predicted_H": 0.8574,
        "predicted_HR": 0.0937,
        "predicted_RBI": 0.4597,
        "predicted_SO": 0.6282
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1571,
          "delta": 0.1571,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2233,
          "delta": 0.2233,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8574,
          "delta": -0.1426,
          "percent_delta": -0.1426,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0937,
          "delta": 0.0937,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4597,
          "delta": 0.4597,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6282,
          "delta": -0.3718,
          "percent_delta": -0.3718,
          "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.4597,
          "delta": 0.4597,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6282,
          "delta": -0.3718,
          "percent_delta": -0.3718,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.369,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1571,
          "after": 0.0,
          "delta": -0.1571,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.239,
          "delta": -0.023,
          "percent_delta": -0.0878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2233,
          "after": 0.0,
          "delta": -0.2233,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8574,
          "after": 1.0,
          "delta": 0.1426,
          "percent_delta": 0.1663,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0937,
          "after": 0.0,
          "delta": -0.0937,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3087,
          "after": 0.29,
          "delta": -0.0187,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4597,
          "after": 1.0,
          "delta": 0.5403,
          "percent_delta": 1.1753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6282,
          "after": 1.0,
          "delta": 0.3718,
          "percent_delta": 0.5918,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4597,
          "after": 1.0,
          "delta": 0.5403,
          "percent_delta": 1.1753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2233,
          "after": 0.0,
          "delta": -0.2233,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.369,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.265,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.318,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.265,
          "delta": 0.026,
          "percent_delta": 0.1088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.318,
          "delta": 0.028,
          "percent_delta": 0.0966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.409,
          "delta": 0.04,
          "percent_delta": 0.1084,
          "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.369,
          "after": 0.409,
          "delta": 0.04,
          "percent_delta": 0.1084,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 1.0
      },
      "changed_metrics": [
        {
          "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": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 1.0,
        "predicted_R": 1.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.265,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.318,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.0,
        "predicted_SS": 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.184,
        "after": 0.0,
        "delta": -0.184,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.722,
        "after": 4.0,
        "delta": 0.278,
        "percent_delta": 0.0747,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.265,
        "delta": -0.011,
        "percent_delta": -0.0399,
        "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_HR",
        "before": 0.076,
        "after": 1.0,
        "delta": 0.924,
        "percent_delta": 12.1579,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.424,
        "after": 1.0,
        "delta": 0.576,
        "percent_delta": 1.3585,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.468,
        "after": 1.0,
        "delta": 0.532,
        "percent_delta": 1.1368,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.409,
        "delta": 0.013,
        "percent_delta": 0.0328,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "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_HR",
        "before": 0.076,
        "after": 1.0,
        "delta": 0.924,
        "percent_delta": 12.1579,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.234,
        "after": 0.0,
        "delta": -0.234,
        "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.184-
predicted_3B0.019-
predicted_AB3.722-
predicted_AVG0.276-
predicted_BB0.234-
predicted_H1.025-
predicted_HR0.076-
predicted_OBP0.318-
predicted_R0.424-
predicted_RBI0.468-
predicted_SLG0.396-
predicted_SO0.500-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.162-0.022
predicted_3B0.016-0.003
predicted_AB3.7360.014
predicted_AVG0.271-0.005
predicted_BB0.2540.020
predicted_H1.011-0.014
predicted_HBP0.016-
predicted_HR0.073-0.003
predicted_OBP0.318-0.000
predicted_R0.405-0.019
predicted_RBI0.441-0.028
predicted_SLG0.381-0.015
predicted_SO0.5400.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.1620.000
predicted_3B0.0160.000
predicted_AB3.7360.000
predicted_AVG0.262-0.009
predicted_BB0.252-0.001
predicted_H0.979-0.032
predicted_HBP0.0160.000
predicted_HR0.071-0.002
predicted_OBP0.309-0.009
predicted_R0.384-0.022
predicted_RBI0.417-0.023
predicted_SLG0.371-0.010
predicted_SO0.5420.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.74), rates preserved: AVG=0.233 HR/AB=0.019

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.1570.157
3B0.0130.013
BB0.2230.223
H0.857-0.143
HR0.0940.094
RBI0.4600.460
SO0.628-0.372
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.013
AB4.0000.000
AVG0.239-
BB0.000-0.223
H1.0000.143
HR0.000-0.094
OBP0.290-
R0.0000.000
RBI1.0000.540
SLG0.369-
SO1.0000.372
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.162
predicted_3B0.000-0.016
predicted_AB4.0000.264
predicted_AVG0.239-0.023
predicted_BB0.000-0.252
predicted_H1.0000.021
predicted_HR0.000-0.071
predicted_OBP0.290-0.019
predicted_R0.000-0.384
predicted_RBI1.0000.583
predicted_SLG0.369-0.002
predicted_SO1.0000.458
10. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2650.026
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3180.028
R0.0000.000
RBI1.0000.000
SLG0.4090.040
SO1.0000.000
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
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R1.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: 158
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0001.0001.0002.0004.0000.21050.28570.21050.21050.00000.05260.10530.2105
last_100.2010-38.00011.0001.0000.0001.0004.0004.0003.0006.0000.28950.34150.39470.28950.02630.10530.07900.1579
season0.60158-588.000162.00029.0003.00012.00074.00067.00037.00079.0000.27550.32120.39630.27550.02040.12580.06290.1343
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1330
predicted_3B0.0120
predicted_AB3.7550
predicted_AVG0.2645
predicted_BB0.2790
predicted_H0.9930
predicted_HBP0.0160
predicted_HR0.0690
predicted_OBP0.3176
predicted_R0.3810
predicted_RBI0.4050
predicted_SLG0.3610
predicted_SO0.5910
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18400.13300.1617model_form_blend
predicted_3B0.01900.01200.0159model_form_blend
predicted_AB3.72203.75503.7364model_form_blend
predicted_AVG0.27600.26450.2710model_form_blend
predicted_BB0.23400.27900.2537model_form_blend
predicted_H1.02500.99301.0110model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.07600.06900.0729model_form_blend
predicted_OBP0.31800.31760.3178model_form_blend
predicted_R0.42400.38100.4052model_form_blend
predicted_RBI0.46800.40500.4405model_form_blend
predicted_SLG0.39600.36100.3807model_form_blend
predicted_SO0.50000.59100.5397model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date595
Season rows before report date595
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
PA4
AB4
H1
2B0
3B0
HR1
R1
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_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF-SS
gameID20261006_LAD@ATL
game_typefull
mlbID643289
playerID643289
playerNameMauricio Dubón
posLF
startedTrue
startingPositionLF
teamATL
teamID2
game_date2026-10-06
sl_k_percent11.8
sl_bb_percent5.7
sl_woba0.317
sl_xwoba0.304
sl_xba0.268
sl_xslg0.375
sl_sweet_spot_percent36.5
sl_barrel_batted_rate4.0
sl_hard_hit_percent29.4
sl_exit_velocity_avg86.5
sl_launch_angle_avg16.1
sl_whiff_percent15.3
sl_swing_percent53.7
Austin Riley (663586) · BATTER · 3B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 608
All-history rows before 20261007: 608
System season_avg: 0.2160
Data season_avg (2026 season-to-date): 0.2260
Diff (system - data): -0.0100
System opponent_avg: 0.0830

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1220.0000.000Hitting_2B0.1370.000-0.1370.000
predicted_3B0.0120.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.5244.0004.000Hitting_AB3.6103.0000.3901.000
predicted_AVG0.1830.0000.000Hitting_AVG0.2260.000-0.2260.000
predicted_BB0.3110.0000.000Hitting_BB0.3170.000-0.3170.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.6300.0000.000Hitting_H0.8160.000-0.8160.000
predicted_HR0.1500.0000.000Hitting_HR0.1170.000-0.1170.000
predicted_OBP0.2800.0000.000Hitting_OBP0.3020.000-0.3020.000
predicted_R0.4020.0000.000Hitting_R0.4290.000-0.4290.000
predicted_RBI0.3900.0000.000Hitting_RBI0.4770.000-0.4770.000
predicted_SLG0.3300.0000.000Hitting_SLG0.3680.000-0.3680.000
predicted_SO1.2383.0003.000Hitting_SO1.2632.0001.7371.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 1.2380 -> 3.0000 (boost 1.7620, worse)
Biggest Deboostpredicted_H: 0.6300 -> 0.0000 (deboost -0.6300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_SLG: 0.3300 -> 0.3130 (deboost -0.0170, 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.2785 -> 0.2438 (deboost -0.0347, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling80817-predicted_H: 0.5816 -> 0.0000 (deboost -0.5816, worse)AB rounded to 3 (raw=3.52), rates preserved: AVG=0.147 HR/AB=0.037
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
7consistency_constraints10101-predicted_R: 0.3571 -> 0.0000 (deboost -0.3571, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine66051predicted_H: 0.0000 -> 0.6597 (boost 0.6597, 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_allocation94536predicted_SO: 1.4549 -> 2.0000 (boost 0.5451, worse)predicted_H: 0.6597 -> 0.0000 (deboost -0.6597, 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_environment44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_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.2200 -> 0.2060 (deboost -0.0140, 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": "663586",
  "player_name": "Austin Riley",
  "position": "3B",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.122,
        "predicted_3B": 0.012,
        "predicted_AB": 3.524,
        "predicted_AVG": 0.183,
        "predicted_BB": 0.311,
        "predicted_H": 0.63,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.28,
        "predicted_R": 0.402,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.33,
        "predicted_SO": 1.238
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1015,
        "predicted_3B": 0.0098,
        "predicted_AB": 3.4755,
        "predicted_AVG": 0.1751,
        "predicted_BB": 0.353,
        "predicted_H": 0.6007,
        "predicted_HBP": 0.127,
        "predicted_HR": 0.1343,
        "predicted_OBP": 0.2785,
        "predicted_R": 0.3771,
        "predicted_RBI": 0.3834,
        "predicted_SLG": 0.313,
        "predicted_SO": 1.2258
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.183,
          "after": 0.1751,
          "delta": -0.0079,
          "percent_delta": -0.0432,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.33,
          "after": 0.313,
          "delta": -0.017,
          "percent_delta": -0.0515,
          "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.33,
          "after": 0.313,
          "delta": -0.017,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 164
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1015,
        "predicted_3B": 0.0098,
        "predicted_AB": 3.4755,
        "predicted_AVG": 0.1673,
        "predicted_BB": 0.3512,
        "predicted_H": 0.5816,
        "predicted_HBP": 0.127,
        "predicted_HR": 0.1305,
        "predicted_OBP": 0.2438,
        "predicted_R": 0.3571,
        "predicted_RBI": 0.3631,
        "predicted_SLG": 0.3148,
        "predicted_SO": 1.2322
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.1751,
          "after": 0.1673,
          "delta": -0.0078,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2785,
          "after": 0.2438,
          "delta": -0.0347,
          "percent_delta": -0.1246,
          "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.2785,
          "after": 0.2438,
          "delta": -0.0347,
          "percent_delta": -0.1246,
          "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.147 HR/AB=0.037",
      "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.1015,
          "after": 0.0,
          "delta": -0.1015,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4755,
          "after": 3.0,
          "delta": -0.4755,
          "percent_delta": -0.1368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3512,
          "after": 0.0,
          "delta": -0.3512,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5816,
          "after": 0.0,
          "delta": -0.5816,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.127,
          "after": 0.0,
          "delta": -0.127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1305,
          "after": 0.0,
          "delta": -0.1305,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3631,
          "after": 0.0,
          "delta": -0.3631,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2322,
          "after": 1.0,
          "delta": -0.2322,
          "percent_delta": -0.1884,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 0,
        "deboosted_metrics": 8,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.5816,
          "after": 0.0,
          "delta": -0.5816,
          "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.083)",
      "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.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": 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.3571,
          "after": 0.0,
          "delta": -0.3571,
          "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.3571,
          "after": 0.0,
          "delta": -0.3571,
          "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.1182,
        "predicted_3B": 0.0094,
        "predicted_BB": 0.2632,
        "predicted_H": 0.6597,
        "predicted_HR": 0.1125,
        "predicted_RBI": 0.4168,
        "predicted_SO": 1.4549
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1182,
          "delta": 0.1182,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2632,
          "delta": 0.2632,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6597,
          "delta": 0.6597,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1125,
          "delta": 0.1125,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4168,
          "delta": 0.4168,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4549,
          "delta": 0.4549,
          "percent_delta": 0.4549,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6597,
          "delta": 0.6597,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.198,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.263,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.341,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1182,
          "after": 0.0,
          "delta": -0.1182,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1673,
          "after": 0.198,
          "delta": 0.0307,
          "percent_delta": 0.1835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2632,
          "after": 0.0,
          "delta": -0.2632,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6597,
          "after": 0.0,
          "delta": -0.6597,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1125,
          "after": 0.0,
          "delta": -0.1125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2438,
          "after": 0.263,
          "delta": 0.0192,
          "percent_delta": 0.0788,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4168,
          "after": 0.0,
          "delta": -0.4168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3148,
          "after": 0.341,
          "delta": 0.0262,
          "percent_delta": 0.0832,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4549,
          "after": 2.0,
          "delta": 0.5451,
          "percent_delta": 0.3747,
          "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": 1.4549,
          "after": 2.0,
          "delta": 0.5451,
          "percent_delta": 0.3747,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6597,
          "after": 0.0,
          "delta": -0.6597,
          "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.198,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.263,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.341,
        "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.377,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.198,
          "after": 0.22,
          "delta": 0.022,
          "percent_delta": 0.1111,
          "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_OBP",
          "before": 0.263,
          "after": 0.288,
          "delta": 0.025,
          "percent_delta": 0.0951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.341,
          "after": 0.377,
          "delta": 0.036,
          "percent_delta": 0.1056,
          "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_H",
          "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": "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": 3.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": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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
      },
      "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.206,
        "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_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.366,
        "predicted_SO": 3.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.206,
          "delta": -0.014,
          "percent_delta": -0.0636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.288,
          "after": 0.281,
          "delta": -0.007,
          "percent_delta": -0.0243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.366,
          "delta": -0.011,
          "percent_delta": -0.0292,
          "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.22,
          "after": 0.206,
          "delta": -0.014,
          "percent_delta": -0.0636,
          "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.122,
        "after": 0.0,
        "delta": -0.122,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.524,
        "after": 4.0,
        "delta": 0.476,
        "percent_delta": 0.1351,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.183,
        "after": 0.206,
        "delta": 0.023,
        "percent_delta": 0.1257,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.311,
        "after": 0.0,
        "delta": -0.311,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.127,
        "after": 0.0,
        "delta": -0.127,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.402,
        "after": 0.0,
        "delta": -0.402,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.33,
        "after": 0.366,
        "delta": 0.036,
        "percent_delta": 0.1091,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.238,
        "after": 3.0,
        "delta": 1.762,
        "percent_delta": 1.4233,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.238,
        "after": 3.0,
        "delta": 1.762,
        "percent_delta": 1.4233,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.122-
predicted_3B0.012-
predicted_AB3.524-
predicted_AVG0.183-
predicted_BB0.311-
predicted_H0.630-
predicted_HR0.150-
predicted_OBP0.280-
predicted_R0.402-
predicted_RBI0.390-
predicted_SLG0.330-
predicted_SO1.238-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.102-0.020
predicted_3B0.010-0.002
predicted_AB3.475-0.049
predicted_AVG0.175-0.008
predicted_BB0.3530.042
predicted_H0.601-0.029
predicted_HBP0.127-
predicted_HR0.134-0.016
predicted_OBP0.279-0.002
predicted_R0.377-0.025
predicted_RBI0.383-0.007
predicted_SLG0.313-0.017
predicted_SO1.226-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.1020.000
predicted_3B0.0100.000
predicted_AB3.4750.000
predicted_AVG0.167-0.008
predicted_BB0.351-0.002
predicted_H0.582-0.019
predicted_HBP0.1270.000
predicted_HR0.131-0.004
predicted_OBP0.244-0.035
predicted_R0.357-0.020
predicted_RBI0.363-0.020
predicted_SLG0.3150.002
predicted_SO1.2320.006
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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=12.0, weight=0.114, BvP AVG=0.083)

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-
H0.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.1180.118
3B0.0090.009
BB0.2630.263
H0.6600.660
HR0.1130.113
RBI0.4170.417
SO1.4550.455
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.118
3B0.000-0.009
AB3.0000.000
AVG0.198-
BB0.000-0.263
H0.000-0.660
HR0.000-0.113
OBP0.263-
R0.0000.000
RBI0.000-0.417
SLG0.341-
SO2.0000.545
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.102
predicted_3B0.000-0.010
predicted_AB3.000-0.475
predicted_AVG0.1980.031
predicted_BB0.000-0.351
predicted_H0.000-0.582
predicted_HR0.000-0.131
predicted_OBP0.2630.019
predicted_R0.000-0.357
predicted_RBI0.000-0.363
predicted_SLG0.3410.026
predicted_SO2.0000.768
11. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2200.022
BB0.0000.000
H1.0001.000
HR0.0000.000
OBP0.2880.025
R0.0000.000
RBI0.0000.000
SLG0.3770.036
SO2.0000.000
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
SO3.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
SO3.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 164
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.0003.0006.0000.06250.25000.06250.06250.00000.00000.18750.3750
last_100.2010-32.0003.0000.0000.0002.0005.0003.0005.00012.0000.09380.25000.28120.09380.06250.15620.15620.3750
season0.60164-578.000125.00020.0002.00020.00075.00066.00051.000203.0000.21630.29210.36160.21630.03460.12980.08820.3512
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0750
predicted_3B0.0070
predicted_AB3.4130
predicted_AVG0.1649
predicted_BB0.4070
predicted_H0.5630
predicted_HBP0.1270
predicted_HR0.1140
predicted_OBP0.2766
predicted_R0.3450
predicted_RBI0.3750
predicted_SLG0.2911
predicted_SO1.2100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12200.07500.1015model_form_blend
predicted_3B0.01200.00700.0098model_form_blend
predicted_AB3.52403.41303.4755model_form_blend
predicted_AVG0.18300.16490.1751model_form_blend
predicted_BB0.31100.40700.3530model_form_blend
predicted_H0.63000.56300.6007model_form_blend
predicted_HBP-0.12700.1270form_only
predicted_HR0.15000.11400.1343model_form_blend
predicted_OBP0.28000.27660.2785model_form_blend
predicted_R0.40200.34500.3771model_form_blend
predicted_RBI0.39000.37500.3834model_form_blend
predicted_SLG0.33000.29110.3130model_form_blend
predicted_SO1.23801.21001.2258model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261006_LAD@ATL
game_typefull
mlbID663586
playerID663586
playerNameAustin Riley
pos3B
startedTrue
startingPosition3B
teamATL
teamID2
game_date2026-10-06
sl_k_percent31.9
sl_bb_percent7.6
sl_woba0.29
sl_xwoba0.299
sl_xba0.213
sl_xslg0.396
sl_sweet_spot_percent34.3
sl_barrel_batted_rate12.4
sl_hard_hit_percent44.3
sl_exit_velocity_avg91.3
sl_launch_angle_avg18.5
sl_whiff_percent31.9
sl_swing_percent48.8
Sean Murphy (669221) · BATTER · C · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 106
All-history rows before 20261007: 106
System season_avg: 0.1880
Data season_avg (2026 season-to-date): 0.1978
Diff (system - data): -0.0098
System opponent_avg: 0.2130

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1390.0000.000Hitting_2B0.1510.000-0.1510.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2503.0003.000Hitting_AB3.4341.000-0.4342.000
predicted_AVG0.1970.3330.333Hitting_AVG0.1980.0000.1360.333
predicted_BB0.3610.0000.000Hitting_BB0.3211.000-0.321-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5301.0001.000Hitting_H0.6790.0000.3211.000
predicted_HR0.1000.0000.000Hitting_HR0.1320.000-0.1320.000
predicted_OBP0.3090.3330.333Hitting_OBP0.2660.5000.067-0.167
predicted_R0.3611.0001.000Hitting_R0.4150.0000.5851.000
predicted_RBI0.2300.0000.000Hitting_RBI0.4250.000-0.4250.000
predicted_SLG0.3490.3330.333Hitting_SLG0.3570.000-0.0240.333
predicted_SO1.0831.0001.000Hitting_SO1.2261.000-0.2260.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_R: 0.3610 -> 1.0000 (boost 0.6390, better)
Biggest Deboostpredicted_BB: 0.3610 -> 0.0000 (deboost -0.3610, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43140predicted_H: 0.5300 -> 0.6059 (boost 0.0759, better)predicted_SO: 1.0830 -> 1.0099 (deboost -0.0731, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3102 -> 0.2666 (deboost -0.0436, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_H: 0.5866 -> 0.0000 (deboost -0.5866, worse)AB rounded to 3 (raw=3.25), rates preserved: AVG=0.160 HR/AB=0.033
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3501 -> 0.0000 (deboost -0.3501, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3511 (boost 0.3511, better)predicted_H: 1.0000 -> 0.6502 (deboost -0.3498, 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_SLG: 0.3273 -> 0.3650 (boost 0.0377, better)predicted_H: 0.6502 -> 0.0000 (deboost -0.6502, 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_environment33030predicted_SLG: 0.3650 -> 0.4050 (boost 0.0400, better)-KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup
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_H: 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_final30303-predicted_SLG: 0.4050 -> 0.3660 (deboost -0.0390, 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": "669221",
  "player_name": "Sean Murphy",
  "position": "C",
  "team": "ATL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.139,
        "predicted_3B": 0.0,
        "predicted_AB": 3.25,
        "predicted_AVG": 0.197,
        "predicted_BB": 0.361,
        "predicted_H": 0.53,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.309,
        "predicted_R": 0.361,
        "predicted_RBI": 0.23,
        "predicted_SLG": 0.349,
        "predicted_SO": 1.083
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1437,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.233,
        "predicted_AVG": 0.2081,
        "predicted_BB": 0.3772,
        "predicted_H": 0.6059,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1119,
        "predicted_OBP": 0.3102,
        "predicted_R": 0.3697,
        "predicted_RBI": 0.2494,
        "predicted_SLG": 0.3674,
        "predicted_SO": 1.0099
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.197,
          "after": 0.2081,
          "delta": 0.0111,
          "percent_delta": 0.0563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.53,
          "after": 0.6059,
          "delta": 0.0759,
          "percent_delta": 0.1432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.349,
          "after": 0.3674,
          "delta": 0.0184,
          "percent_delta": 0.0527,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.083,
          "after": 1.0099,
          "delta": -0.0731,
          "percent_delta": -0.0675,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.53,
          "after": 0.6059,
          "delta": 0.0759,
          "percent_delta": 0.1432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.083,
          "after": 1.0099,
          "delta": -0.0731,
          "percent_delta": -0.0675,
          "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": 36
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1437,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.233,
        "predicted_AVG": 0.1815,
        "predicted_BB": 0.3752,
        "predicted_H": 0.5866,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1087,
        "predicted_OBP": 0.2666,
        "predicted_R": 0.3501,
        "predicted_RBI": 0.2362,
        "predicted_SLG": 0.3273,
        "predicted_SO": 1.0152
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2081,
          "after": 0.1815,
          "delta": -0.0266,
          "percent_delta": -0.1278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3102,
          "after": 0.2666,
          "delta": -0.0436,
          "percent_delta": -0.1406,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3674,
          "after": 0.3273,
          "delta": -0.0401,
          "percent_delta": -0.1091,
          "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.3102,
          "after": 0.2666,
          "delta": -0.0436,
          "percent_delta": -0.1406,
          "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.25), rates preserved: AVG=0.160 HR/AB=0.033",
      "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.1437,
          "after": 0.0,
          "delta": -0.1437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.233,
          "after": 3.0,
          "delta": -0.233,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3752,
          "after": 0.0,
          "delta": -0.3752,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5866,
          "after": 0.0,
          "delta": -0.5866,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1087,
          "after": 0.0,
          "delta": -0.1087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2362,
          "after": 0.0,
          "delta": -0.2362,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.5866,
          "after": 0.0,
          "delta": -0.5866,
          "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.3501,
          "after": 0.0,
          "delta": -0.3501,
          "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.3501,
          "after": 0.0,
          "delta": -0.3501,
          "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.1288,
        "predicted_3B": 0.0087,
        "predicted_BB": 0.2854,
        "predicted_H": 0.6502,
        "predicted_HR": 0.1109,
        "predicted_RBI": 0.3511,
        "predicted_SO": 1.1355
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1288,
          "delta": 0.1288,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2854,
          "delta": 0.2854,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6502,
          "delta": -0.3498,
          "percent_delta": -0.3498,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1109,
          "delta": 0.1109,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3511,
          "delta": 0.3511,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1355,
          "delta": 0.1355,
          "percent_delta": 0.1355,
          "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.3511,
          "delta": 0.3511,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6502,
          "delta": -0.3498,
          "percent_delta": -0.3498,
          "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.283,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1288,
          "after": 0.0,
          "delta": -0.1288,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1815,
          "after": 0.21,
          "delta": 0.0285,
          "percent_delta": 0.157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2854,
          "after": 0.0,
          "delta": -0.2854,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6502,
          "after": 0.0,
          "delta": -0.6502,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1109,
          "after": 0.0,
          "delta": -0.1109,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2666,
          "after": 0.283,
          "delta": 0.0164,
          "percent_delta": 0.0615,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3511,
          "after": 0.0,
          "delta": -0.3511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3273,
          "after": 0.365,
          "delta": 0.0377,
          "percent_delta": 0.1152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1355,
          "after": 1.0,
          "delta": -0.1355,
          "percent_delta": -0.1193,
          "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_SLG",
          "before": 0.3273,
          "after": 0.365,
          "delta": 0.0377,
          "percent_delta": 0.1152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6502,
          "after": 0.0,
          "delta": -0.6502,
          "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.283,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.365,
        "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 club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.233,
          "delta": 0.023,
          "percent_delta": 0.1095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.31,
          "delta": 0.027,
          "percent_delta": 0.0954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.365,
          "after": 0.405,
          "delta": 0.04,
          "percent_delta": 0.1096,
          "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.365,
          "after": 0.405,
          "delta": 0.04,
          "percent_delta": 0.1096,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 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": 3.0,
        "predicted_AVG": 0.199,
        "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.28,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.199,
          "delta": -0.034,
          "percent_delta": -0.1459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.28,
          "delta": -0.03,
          "percent_delta": -0.0968,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.366,
          "delta": -0.039,
          "percent_delta": -0.0963,
          "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.405,
          "after": 0.366,
          "delta": -0.039,
          "percent_delta": -0.0963,
          "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.139,
        "after": 0.0,
        "delta": -0.139,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.25,
        "after": 3.0,
        "delta": -0.25,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.361,
        "after": 0.0,
        "delta": -0.361,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.53,
        "after": 1.0,
        "delta": 0.47,
        "percent_delta": 0.8868,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.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.28,
        "delta": -0.029,
        "percent_delta": -0.0939,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.361,
        "after": 1.0,
        "delta": 0.639,
        "percent_delta": 1.7701,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.349,
        "after": 0.366,
        "delta": 0.017,
        "percent_delta": 0.0487,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.083,
        "after": 1.0,
        "delta": -0.083,
        "percent_delta": -0.0766,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.361,
        "after": 1.0,
        "delta": 0.639,
        "percent_delta": 1.7701,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.361,
        "after": 0.0,
        "delta": -0.361,
        "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.139-
predicted_3B0.000-
predicted_AB3.250-
predicted_AVG0.197-
predicted_BB0.361-
predicted_H0.530-
predicted_HR0.100-
predicted_OBP0.309-
predicted_R0.361-
predicted_RBI0.230-
predicted_SLG0.349-
predicted_SO1.083-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1440.005
predicted_3B0.0010.001
predicted_AB3.233-0.017
predicted_AVG0.2080.011
predicted_BB0.3770.016
predicted_H0.6060.076
predicted_HBP0.005-
predicted_HR0.1120.012
predicted_OBP0.3100.001
predicted_R0.3700.009
predicted_RBI0.2490.019
predicted_SLG0.3670.018
predicted_SO1.010-0.073
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1440.000
predicted_3B0.0010.000
predicted_AB3.2330.000
predicted_AVG0.181-0.027
predicted_BB0.375-0.002
predicted_H0.587-0.019
predicted_HBP0.0050.000
predicted_HR0.109-0.003
predicted_OBP0.267-0.044
predicted_R0.350-0.020
predicted_RBI0.236-0.013
predicted_SLG0.327-0.040
predicted_SO1.0150.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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.1290.129
3B0.0090.009
BB0.2850.285
H0.650-0.350
HR0.1110.111
RBI0.3510.351
SO1.1350.135
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.129
3B0.000-0.009
AB3.0000.000
AVG0.210-
BB0.000-0.285
H0.000-0.650
HR0.000-0.111
OBP0.283-
R0.0000.000
RBI0.000-0.351
SLG0.365-
SO1.000-0.135
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.144
predicted_3B0.000-0.001
predicted_AB3.000-0.233
predicted_AVG0.2100.028
predicted_BB0.000-0.375
predicted_H0.000-0.587
predicted_HR0.000-0.109
predicted_OBP0.2830.016
predicted_R0.000-0.350
predicted_RBI0.000-0.236
predicted_SLG0.3650.038
predicted_SO1.000-0.015
10. kpi_run_environment

KPI club run ratio x1.228 applied to runs and RBI, x1.108 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2330.023
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.3100.027
R0.0000.000
RBI0.0000.000
SLG0.4050.040
SO1.0000.000
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
BB0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R1.0001.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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA3.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: 36
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0005.0001.0000.0001.0001.0002.0002.0003.0000.35710.43750.64290.35710.07140.07140.14290.2143
last_100.2010-28.0005.0001.0000.0001.0001.0003.0006.0007.0000.17860.32350.32140.17860.03570.03570.21430.2500
season0.6036-117.00022.0005.0000.0004.00011.00013.00013.00039.0000.18800.26920.33330.18800.03420.09400.11110.3333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1510
predicted_3B0.0020
predicted_AB3.2070
predicted_AVG0.2252
predicted_BB0.4020
predicted_H0.7220
predicted_HBP0.0050
predicted_HR0.1300
predicted_OBP0.3121
predicted_R0.3830
predicted_RBI0.2790
predicted_SLG0.3955
predicted_SO0.8980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13900.15100.1437model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.25003.20703.2330model_form_blend
predicted_AVG0.19700.22520.2081model_form_blend
predicted_BB0.36100.40200.3772model_form_blend
predicted_H0.53000.72200.6059model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.10000.13000.1119model_form_blend
predicted_OBP0.30900.31210.3102model_form_blend
predicted_R0.36100.38300.3697model_form_blend
predicted_RBI0.23000.27900.2494model_form_blend
predicted_SLG0.34900.39550.3674model_form_blend
predicted_SO1.08300.89801.0099model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
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_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_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
allPositionsPlayedDH
gameID20261004_ATL@LAD
game_typefull
mlbID669221
playerID669221
playerNameSean Murphy
posC
startedTrue
startingPositionDH
teamATL
teamID2
game_date2026-10-04
sl_k_percent30.6
sl_bb_percent9.1
sl_woba0.252
sl_xwoba0.273
sl_xba0.206
sl_xslg0.332
sl_sweet_spot_percent26.0
sl_barrel_batted_rate8.2
sl_hard_hit_percent41.1
sl_exit_velocity_avg87.8
sl_launch_angle_avg5.6
sl_whiff_percent31.9
sl_swing_percent50.1
Tyler Mahle (641816) · PITCHER · Starter · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 10
All-history rows before 20261007: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.0001.0001.0001.000
predicted_ER3.0003.0003.000Pitching_ER1.3001.0001.7002.000
predicted_H6.0006.0006.000Pitching_H4.9006.0001.1000.000
predicted_IP5.0005.0005.000Pitching_InningsPitched6.0407.000-1.040-2.000
predicted_SO4.0004.0004.000Pitching_SO5.4006.000-1.400-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics1
Worse Metrics3
Biggest Boostpredicted_SO: 1.0000 -> 4.0000 (boost 3.0000, better)
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 published; the staff line follows the published score, not a KPI rescale
7market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
8play_by_play_realization43113predicted_SO: 1.0000 -> 4.0000 (boost 3.0000, better)predicted_IP: 6.0000 -> 5.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
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": "641816",
  "player_name": "Tyler Mahle",
  "position": "Starter",
  "team": "ATL",
  "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": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.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, 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 published; 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": "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": 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": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 3.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "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": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "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": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "better",
          "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
        }
      }
    },
    {
      "index": 9,
      "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": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "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": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "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": 1.0,
        "after": 4.0,
        "delta": 3.0,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 4.0,
        "delta": 3.0,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "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_H5.000-
predicted_HR0.000-
predicted_IP6.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, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. 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
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
BB2.000-
BF23.000-
ER3.000-
H6.000-
HR0.000-
IP5.000-
Pitches85.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: 28
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45531.0008.00025.0005.00022.0003.0002.32260.96770.25810.80650.16130.70970.0968
last_100.351061.10013.00049.00010.00054.0006.0001.90760.96200.21200.79890.16300.88040.0978
season0.2028156.00067.000144.00047.000143.00020.0003.86541.22440.42950.92310.30130.91670.1282
Weighted Prediction From Real Data
MetricValue
predicted_BB1.3280
predicted_ER1.8950
predicted_ERA2.8099
predicted_H5.1670
predicted_HR0.6690
predicted_IP6.0000
predicted_SO5.0360
predicted_WHIP1.0699
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.32801.6062model_form_blend
predicted_ER1.00001.89501.5245model_form_blend
predicted_ERA-2.80992.8099form_only
predicted_H5.00005.16705.0979model_form_blend
predicted_HR0.00000.66900.3920model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO1.00005.03603.3651model_form_blend
predicted_WHIP-1.06991.0699form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H6
R3
ER3
BB2
SO4
HR0
BF23
Pitches85

Latest Real Data Snapshot (before report date)

Latest 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 Faced28
Pitching_ER1
Pitching_ERA1.29
Pitching_Flyouts3
Pitching_Groundouts9
Pitching_H6
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched7.0
Pitching_Pitches95
Pitching_R1
Pitching_SO6
Pitching_Strikes66
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260930_PHI@ATL
game_typefull
mlbID641816
playerID641816
playerNameTyler Mahle
posP
startedTrue
startingPositionP
teamATL
teamID2
game_date2026-09-30
sl_k_percent22.3
sl_bb_percent7.5
sl_woba0.311
sl_xwoba0.306
sl_sweet_spot_percent32.0
sl_barrel_batted_rate6.8
sl_hard_hit_percent37.1
sl_whiff_percent22.9
sl_swing_percent45.6
sl_avg_best_speed80.019062512
sl_avg_hyper_speed93.831595995
Grant Holmes (656550) · PITCHER · Long Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 34
All-history rows before 20261007: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.9711.000-0.9710.000
predicted_ER2.0002.0002.000Pitching_ER1.8531.0000.1471.000
predicted_H1.0001.0001.000Pitching_H4.2352.000-3.235-1.000
predicted_IP2.0002.0002.000Pitching_InningsPitched4.4880.200-2.4881.800
predicted_SO2.0002.0002.000Pitching_SO3.4710.000-1.4712.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics3
Deboosted Metrics0
Better Metrics0
Worse Metrics3
Biggest Boostpredicted_ER: 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization33003predicted_ER: 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": "656550",
  "player_name": "Grant Holmes",
  "position": "Long Reliever",
  "team": "ATL",
  "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": 2.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 published; 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": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.0,
        "predicted_R": 2.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": "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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_ER",
          "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": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.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": 0.0,
        "after": 1.0,
        "delta": 1.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_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 3,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "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_H1.000-
predicted_HR0.000-
predicted_IP2.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 published; 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-
ER2.000-
H1.000-
HR1.000-
IP2.000-
Pitches30.000-
R2.000-
SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 34
Reference playing time: 2.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45516.2007.00020.0007.0006.0004.0003.78001.62000.42001.20000.42000.36000.2400
last_100.351040.10016.00038.00016.00022.0005.0003.57021.33880.39670.94220.39670.54540.1240
season0.2034156.10063.000144.00067.000118.00023.0003.62691.34970.40300.92110.42860.75480.1471
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4730
predicted_ER1.5180
predicted_ERA3.7976
predicted_H3.7610
predicted_HR0.6360
predicted_IP3.2000
predicted_SO2.0120
predicted_WHIP1.4545
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.47300.8777model_form_blend
predicted_ER0.00001.51800.9045model_form_blend
predicted_ERA-3.79763.7976form_only
predicted_H1.00003.76102.6451model_form_blend
predicted_HR0.00000.63600.3790model_form_blend
predicted_IP2.00003.20003.0000model_form_blend
predicted_SO2.00002.01202.0072model_form_blend
predicted_WHIP-1.45451.4545form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H1
R2
ER2
BB1
SO2
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_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA6.75
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches17
Pitching_R1
Pitching_SO0
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261004_ATL@LAD
game_typefull
mlbID656550
playerID656550
playerNameGrant Holmes
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-10-04
sl_k_percent17.9
sl_bb_percent9.7
sl_woba0.314
sl_xwoba0.342
sl_sweet_spot_percent34.2
sl_barrel_batted_rate8.9
sl_hard_hit_percent45.2
sl_whiff_percent27.3
sl_swing_percent48.7
sl_avg_best_speed82.097232183
sl_avg_hyper_speed94.933788534
Dylan Dodd (689266) · PITCHER · Middle Reliever · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 51
All-history rows before 20261007: 51

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2750.000-0.2750.000
predicted_ER1.0001.0001.000Pitching_ER0.2940.0000.7061.000
predicted_H2.0002.0002.000Pitching_H0.6861.0001.3141.000
predicted_IP2.0002.0002.000Pitching_InningsPitched0.9511.0001.0491.000
predicted_SO2.0002.0002.000Pitching_SO1.1572.0000.8430.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics5
Boosted Metrics2
Deboosted Metrics3
Better Metrics5
Worse Metrics0
Biggest Boostpredicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better)
Biggest Deboostpredicted_ER: 5.0000 -> 1.0000 (deboost -4.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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization52350predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_ER: 5.0000 -> 1.0000 (deboost -4.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": "689266",
  "player_name": "Dylan Dodd",
  "position": "Middle Reliever",
  "team": "ATL",
  "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": 5.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 1.0,
          "delta": -4.0,
          "percent_delta": -0.8,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 2.0,
          "delta": -3.0,
          "percent_delta": -0.6,
          "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": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 1.0,
          "delta": -4.0,
          "percent_delta": -0.8,
          "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": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.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": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 1.0,
        "delta": -4.0,
        "percent_delta": -0.8,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 2.0,
        "delta": -3.0,
        "percent_delta": -0.6,
        "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": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 2,
      "deboosted_metrics": 3,
      "better_metrics": 5,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 1.0,
        "delta": -4.0,
        "percent_delta": -0.8,
        "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_BB2.000-
predicted_ER5.000-
predicted_H5.000-
predicted_HR1.000-
predicted_IP1.000-
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 published; 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-
Pitches28.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: 51
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.2003.0007.0000.0009.0001.0003.52170.91300.39130.91300.00001.17390.1304
last_100.351011.1005.0009.0001.00015.0003.0003.97060.88240.44120.79410.08821.32350.2647
season0.205154.10015.00035.00014.00059.0007.0002.48470.90180.27610.64420.25771.08590.1288
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2100
predicted_ER0.5130
predicted_ERA3.8269
predicted_H1.0500
predicted_HR0.2030
predicted_IP1.1000
predicted_SO1.3570
predicted_WHIP1.0436
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.21001.0697model_form_blend
predicted_ER5.00000.51302.6679model_form_blend
predicted_ERA-3.82693.8269form_only
predicted_H5.00001.05002.9470model_form_blend
predicted_HR1.00000.20300.5858model_form_blend
predicted_IP1.00001.10001.2000model_form_blend
predicted_SO0.00001.35700.7053model_form_blend
predicted_WHIP-1.04361.0436form_only

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA1.93
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R0
Pitching_SO2
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261006_LAD@ATL
game_typefull
mlbID689266
playerID689266
playerNameDylan Dodd
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-10-06
sl_k_percent27.3
sl_bb_percent7.2
sl_woba0.26
sl_xwoba0.273
sl_sweet_spot_percent37.9
sl_barrel_batted_rate8.9
sl_hard_hit_percent37.1
sl_whiff_percent29.5
sl_swing_percent54.4
sl_avg_best_speed80.094113934
sl_avg_hyper_speed93.49856377

20261007_MIL@SD

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 6, "home_runs": 5, "confidence": 0.505, "home_win_probability": 0.495, "away_win_probability": 0.505, "predicted_score_text": "MIL 6 - 5 SD", "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.85, "published_confidence": 0.505, "guardrail_confidence_cap": null, "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}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.385805, "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.", "pre_simulation_target": {"away_runs": 6, "home_runs": 5, "predicted_score_text": "MIL 6 - 5 SD", "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": 6, "home_runs": 5, "score_text": "MIL 6 - 5 SD", "winner": "MIL"}, "final_simulation_score": {"away_runs": 6, "home_runs": 5, "score_text": "MIL 6 - 5 SD", "winner": "MIL"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0447, "recent_form_edge_home_minus_away": 0.334, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 6, "home_runs": 5, "winner": "MIL", "model_winner": "MIL", "simulation_winner": "MIL", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 6, "published_winner": "MIL", "published_winner_draw_share": 0.1667, "draw_majority_team": "SD", "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": 6, "home_runs": 5}, "simulation_score": {"away_runs": 6, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.723, "winner": "MIL", "score_reviewed": {"away_runs": 6, "home_runs": 5, "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 predictionMIL 6 - 5 SDMIL0.505enhanced_prediction.pre_simulation_targetTrue
Simulation drawMIL 6 - 5 SDMIL-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.5045; empirical=0.5485; weight=0.4500; final=0.5243
P1H2H margin as base featureavailablehome net=7; abs=7; home delta=0.0404; away delta=-0.0404
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=-1.1790; recent edge=0.1240; 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_ml4.3173.958-Base ML historical model prediction
2variance_applied44-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5050Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run)
4kpi_layer45-Savant KPI blend applied to the model target
5embedded_savant_run_environment45-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review65-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target65-Capped at max 12 realistic runs
8simulation_result65-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7122387300296822,
  "base_low_score_probability": 0.4275618374558304,
  "low_score_signal_threshold": 0.5075618374558304,
  "low_score_signal_strength": 0.2846768925738518,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.6658145504000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 11,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.4,
  "low_score_model_expected_total_runs": 6.4,
  "final_simulation_total_runs": 11,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 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.4991,
  "score_probability_conflict": true,
  "margin_implied_home_probability": 0.5033,
  "margin_implied_pick_probability": 0.5033,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5015,
  "score_implied_floor_pick_probability": 0.5032,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.49913,
  "uncapped_away_win_probability": 0.50087,
  "calibrated_pick_probability": 0.505,
  "predicted_side": "home",
  "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.504492,
  "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.524296,
  "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": 7.0,
  "absolute_net_margin": 7.0,
  "home_average_margin": 1.4,
  "home_run_delta": 0.0404,
  "away_run_delta": -0.0404,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 9.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -6.0
    },
    {
      "game_id": null,
      "home_margin": 2.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617283950617284,
    "runs_scored": 722,
    "runs_allowed": 681,
    "run_differential": 41,
    "run_differential_per_game": 0.25308641975308643,
    "available": true
  },
  "away": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358024691358025,
    "runs_scored": 832,
    "runs_allowed": 618,
    "run_differential": 214,
    "run_differential_per_game": 1.3209876543209877,
    "available": true
  },
  "run_differential_edge_per_game": -1.0679,
  "win_pct_edge": -0.0741,
  "quality_edge": -0.723,
  "season_quality_edge": -1.179,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -1.179,
    "recent_quality_edge": 0.124,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.723
  },
  "margin_adjustment": -0.3037,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": -0.3037,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": -0.723,
    "season_quality_edge": -1.179,
    "recent_alignment": "conflict",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 4.261,
    "home_runs": 3.769,
    "home_win_probability": 0.4582
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.02027699864654153
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.019270353943855057
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.019194832702538276
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.019163729559404433
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.019112176732514634
    }
  ],
  "home_distribution": {
    "0": 0.057878380388167616,
    "1": 0.08543432439696529,
    "2": 0.11296422029027611,
    "3": 0.13379562991725308,
    "4": 0.14195001672048477,
    "5": 0.13490295640999328,
    "6": 0.11484179887848654,
    "7": 0.0875731569195755,
    "8": 0.059818363148433945,
    "9": 0.03660079712742226,
    "10": 0.02006037572285571,
    "11": 0.009848726603451263,
    "12": 0.004331253476634715
  },
  "away_distribution": {
    "0": 0.058821078416750536,
    "1": 0.08677233064039432,
    "2": 0.11452137735737351,
    "3": 0.13522247581227848,
    "4": 0.14284604619997457,
    "5": 0.13500336246624,
    "6": 0.1141505391270846,
    "7": 0.08635119834475068,
    "8": 0.058440751389698314,
    "9": 0.03538508423048862,
    "10": 0.01916821608854328,
    "11": 0.009289667716227187,
    "12": 0.004027872210195613
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "SD",
    "opponent_team": "MIL",
    "h2h_net_margin": 11,
    "recent_h2h": [
      {
        "date": "2026-08-12",
        "predicted_team_runs": 4,
        "opponent_runs": 3,
        "margin_for_predicted_team": 1,
        "winner": "SD"
      },
      {
        "date": "2026-08-11",
        "predicted_team_runs": 11,
        "opponent_runs": 2,
        "margin_for_predicted_team": 9,
        "winner": "SD"
      },
      {
        "date": "2026-08-10",
        "predicted_team_runs": 3,
        "opponent_runs": 2,
        "margin_for_predicted_team": 1,
        "winner": "SD"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 6,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20261006",
          "away": "MIL",
          "home": "SD",
          "game_number": 1,
          "predicted_team": "SD",
          "actual_winner": "SD",
          "actual_margin": 1,
          "raw_pick_probability": 0.56643,
          "artifact": "20261006_MIL@SD.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261004",
          "away": "SD",
          "home": "MIL",
          "game_number": 1,
          "predicted_team": "MIL",
          "actual_winner": "MIL",
          "actual_margin": 1,
          "raw_pick_probability": 0.553789,
          "artifact": "20261004_SD@MIL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261003",
          "away": "SD",
          "home": "MIL",
          "game_number": 1,
          "predicted_team": "MIL",
          "actual_winner": "MIL",
          "actual_margin": 1,
          "raw_pick_probability": 0.53,
          "artifact": "20261003_SD@MIL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260812",
          "away": "MIL",
          "home": "SD",
          "game_number": 1,
          "predicted_team": "SD",
          "actual_winner": "SD",
          "actual_margin": 1,
          "raw_pick_probability": 0.51,
          "artifact": "20260812_MIL@SD.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260811",
          "away": "MIL",
          "home": "SD",
          "game_number": 1,
          "predicted_team": "MIL",
          "actual_winner": "SD",
          "actual_margin": 9,
          "raw_pick_probability": 0.51256,
          "artifact": "20260811_MIL@SD.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "SD",
    "guardrail_opponent_team": "MIL",
    "output_pre_simulation_winner": "MIL",
    "output_opponent_team": "SD",
    "simulation_score_winner": "MIL",
    "final_score_winner": "MIL",
    "pre_simulation_winner": "MIL",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "SD",
      "games": 162,
      "wins": 91,
      "losses": 71,
      "win_pct": 0.5617283950617284,
      "runs_scored": 722,
      "runs_allowed": 681,
      "run_differential": 41,
      "run_differential_per_game": 0.25308641975308643,
      "available": true
    },
    "away": {
      "team": "MIL",
      "games": 162,
      "wins": 103,
      "losses": 59,
      "win_pct": 0.6358024691358025,
      "runs_scored": 832,
      "runs_allowed": 618,
      "run_differential": 214,
      "run_differential_per_game": 1.3209876543209877,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.0447,
  "final_margin": 0.0447,
  "margin_cap": 1.5,
  "season_quality_edge": 0.723,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.524296,
  "final_confidence": 0.505,
  "calibrated_pick_probability": 0.505,
  "shrinkage_weight": 0.98,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.0447,
  "calibration_sample_size": 567,
  "calibration_empirical_hit_rate": 0.5485,
  "calibration_bayesian_hit_rate": 0.547,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.723,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "margin": 1,
    "probability_before": 0.505,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.98,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.505,
    "aligned_pick_probability": 0.505
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 21,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 6,
    "home_runs": 5,
    "score_text": "MIL 6 - 5 SD",
    "winner": "MIL"
  },
  "final_simulation_score": {
    "away_runs": 6,
    "home_runs": 5,
    "score_text": "MIL 6 - 5 SD",
    "winner": "MIL"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0447,
    "recent_form_edge_home_minus_away": 0.334,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 6,
    "home_runs": 5,
    "winner": "MIL",
    "model_winner": "MIL",
    "simulation_winner": "MIL",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 6,
      "published_winner": "MIL",
      "published_winner_draw_share": 0.1667,
      "draw_majority_team": "SD",
      "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": 6,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 6,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.723,
    "winner": "MIL",
    "score_reviewed": {
      "away_runs": 6,
      "home_runs": 5,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 6,
  "home_runs": 5,
  "confidence": 0.505,
  "home_win_probability": 0.495,
  "away_win_probability": 0.505,
  "predicted_score_text": "MIL 6 - 5 SD",
  "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.85,
    "published_confidence": 0.505,
    "guardrail_confidence_cap": null,
    "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
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.385805,
    "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.",
  "pre_simulation_target": {
    "away_runs": 6,
    "home_runs": 5,
    "predicted_score_text": "MIL 6 - 5 SD",
    "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": 6,
      "home_runs": 5,
      "score_text": "MIL 6 - 5 SD",
      "winner": "MIL"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "MIL 6 - 5 SD",
      "winner": "MIL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0447,
      "recent_form_edge_home_minus_away": 0.334,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 5,
      "winner": "MIL",
      "model_winner": "MIL",
      "simulation_winner": "MIL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "MIL",
        "published_winner_draw_share": 0.1667,
        "draw_majority_team": "SD",
        "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": 6,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.723,
      "winner": "MIL",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 5,
        "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 MILTrue1.03701.0370190
Home SDTrue1.03191.0319190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFJackson Chourio-1.07020.9355neutral0.34400.26500.475012.304791.6011.8025.1023.408.20-0.4857
DHChristian Yelich-1.01680.2241neutral0.30800.23000.38509.6042.9088.90429.60279.800.0857
CWilliam Contreras-1.05550.7396neutral0.33400.26100.44108.5044.1090.3013.2020.7014.709.500.1143
2BBrice Turang-1.05120.6822neutral0.34400.25500.42807.7041.6090.308.8023.1025.1013.20-0.4000
1BJake Bauers-1.09871.3163neutral0.37100.25300.46701451.9092.1012.1029.802716.30-0.2857
SSCooper Pratt-1.00480.0641neutral0.31500.26600.36203.2027.40879.1021.80189.80-0.1429
RFSal Frelick-0.9660-0.4529neutral0.28100.24100.32402.3026.8085.709.8010.109.908.100.1714
CFGarrett Mitchell-1.08361.1148neutral0.35300.26800.447011.7052.7093.202.2035.8031.5011.300.3714
3BJoey Ortiz-0.9858-0.1888neutral0.29700.24300.3460437.6089.206.4019.9019.808.40-0.6857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFFernando Tatis Jr.-1.12121.6157neutral0.37900.29600.500012.7053.9092.905.3025.9018.509.100.6000
CFJackson Merrill-1.09221.2295neutral0.34700.27000.491012.4048.7091.5014.3027.6024.106.200.7714
3BManny Machado-1.04940.6585neutral0.32800.24300.42009.7043.6090.1014.5025.3021.3011.200.5143
1BTy France-1.03550.4740negative_batter_regression0.32700.24800.42109.1047.4091.5014.6028.1021.607.40-1.3143
DHAustin Hays-1.00060.0077neutral0.29500.27800.38304.1041.9087.504.9033.8025.703.80-0.2571
SSXander Bogaerts-1.03030.4040neutral0.32500.24800.37605.5042.3089.606.7023.101812.700.5429
CLuis Campusano-1.02060.2740neutral0.32700.23900.39108.1037.7087.3016.302621.4012.10-0.7429
2BJake Cronenworth-0.9549-0.6015neutral0.27500.21300.30803.9029.7087.2011.4021.3022.808.90-0.3429
LFSamad Taylor-0.9823-0.2355negative_batter_regression0.30900.25600.32803.6025.2085.90925.2025.7010.30-1.3429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0319,
    "raw_average_factor": 1.0319,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "665487",
        "player_name": "Fernando Tatis Jr.",
        "offense_factor": 1.1212,
        "quality_score": 1.6157,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665487",
          "espn_rank": null
        },
        "metrics": {
          "pa": 649.0,
          "k_percent": 18.5,
          "bb_percent": 9.1,
          "woba": 0.358,
          "xwoba": 0.379,
          "xba": 0.296,
          "xslg": 0.5,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 12.7,
          "hard_hit_percent": 53.9,
          "exit_velocity_avg": 92.9,
          "launch_angle_avg": 5.3,
          "whiff_percent": 25.9,
          "swing_percent": 46.1
        },
        "components": {
          "expected_quality": 1.7811,
          "regression_edge": 0.6,
          "xwoba_edge": 2.2857,
          "xba_edge": 1.7143,
          "xslg_edge": 1.9571,
          "barrel_edge": 1.3556,
          "hard_hit_edge": 2.3286,
          "exit_velocity_edge": 1.8,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "701538",
        "player_name": "Jackson Merrill",
        "offense_factor": 1.0922,
        "quality_score": 1.2295,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "701538",
          "espn_rank": null
        },
        "metrics": {
          "pa": 619.0,
          "k_percent": 24.1,
          "bb_percent": 6.2,
          "woba": 0.32,
          "xwoba": 0.347,
          "xba": 0.27,
          "xslg": 0.491,
          "sweet_spot_percent": 39.8,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 48.7,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 14.3,
          "whiff_percent": 27.6,
          "swing_percent": 56.1
        },
        "components": {
          "expected_quality": 1.3041,
          "regression_edge": 0.7714,
          "xwoba_edge": 1.3714,
          "xba_edge": 0.9714,
          "xslg_edge": 1.8286,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 1.5857,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 1.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "592518",
        "player_name": "Manny Machado",
        "offense_factor": 1.0494,
        "quality_score": 0.6585,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "592518",
          "espn_rank": null
        },
        "metrics": {
          "pa": 624.0,
          "k_percent": 21.3,
          "bb_percent": 11.2,
          "woba": 0.31,
          "xwoba": 0.328,
          "xba": 0.243,
          "xslg": 0.42,
          "sweet_spot_percent": 32.7,
          "barrel_batted_rate": 9.7,
          "hard_hit_percent": 43.6,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 14.5,
          "whiff_percent": 25.3,
          "swing_percent": 47.8
        },
        "components": {
          "expected_quality": 0.682,
          "regression_edge": 0.5143,
          "xwoba_edge": 0.8286,
          "xba_edge": 0.2,
          "xslg_edge": 0.8143,
          "barrel_edge": 0.6889,
          "hard_hit_edge": 0.8571,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": -0.1,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "664034",
        "player_name": "Ty France",
        "offense_factor": 1.0355,
        "quality_score": 0.474,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "664034",
          "espn_rank": null
        },
        "metrics": {
          "pa": 454.0,
          "k_percent": 21.6,
          "bb_percent": 7.4,
          "woba": 0.373,
          "xwoba": 0.327,
          "xba": 0.248,
          "xslg": 0.421,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 9.1,
          "hard_hit_percent": 47.4,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 14.6,
          "whiff_percent": 28.1,
          "swing_percent": 54.3
        },
        "components": {
          "expected_quality": 0.7651,
          "regression_edge": -1.3143,
          "xwoba_edge": 0.8,
          "xba_edge": 0.3429,
          "xslg_edge": 0.8286,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 1.4,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "669720",
        "player_name": "Austin Hays",
        "offense_factor": 1.0006,
        "quality_score": 0.0077,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669720",
          "espn_rank": null
        },
        "metrics": {
          "pa": 86.0,
          "k_percent": 25.7,
          "bb_percent": 3.8,
          "woba": 0.304,
          "xwoba": 0.295,
          "xba": 0.278,
          "xslg": 0.383,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 41.9,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 4.9,
          "whiff_percent": 33.8,
          "swing_percent": 53.8
        },
        "components": {
          "expected_quality": 0.0617,
          "regression_edge": -0.2571,
          "xwoba_edge": -0.1143,
          "xba_edge": 1.2,
          "xslg_edge": 0.2857,
          "barrel_edge": -0.5556,
          "hard_hit_edge": 0.6143,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "593428",
        "player_name": "Xander Bogaerts",
        "offense_factor": 1.0303,
        "quality_score": 0.404,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "593428",
          "espn_rank": null
        },
        "metrics": {
          "pa": 568.0,
          "k_percent": 18.0,
          "bb_percent": 12.7,
          "woba": 0.306,
          "xwoba": 0.325,
          "xba": 0.248,
          "xslg": 0.376,
          "sweet_spot_percent": 27.9,
          "barrel_batted_rate": 5.5,
          "hard_hit_percent": 42.3,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 6.7,
          "whiff_percent": 23.1,
          "swing_percent": 41.5
        },
        "components": {
          "expected_quality": 0.3813,
          "regression_edge": 0.5429,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.3429,
          "xslg_edge": 0.1857,
          "barrel_edge": -0.2444,
          "hard_hit_edge": 0.6714,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": -0.9,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "669134",
        "player_name": "Luis Campusano",
        "offense_factor": 1.0206,
        "quality_score": 0.274,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669134",
          "espn_rank": null
        },
        "metrics": {
          "pa": 226.0,
          "k_percent": 21.4,
          "bb_percent": 12.1,
          "woba": 0.353,
          "xwoba": 0.327,
          "xba": 0.239,
          "xslg": 0.391,
          "sweet_spot_percent": 37.7,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 37.7,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 16.3,
          "whiff_percent": 26.0,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": 0.4396,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.8,
          "xba_edge": 0.0857,
          "xslg_edge": 0.4,
          "barrel_edge": 0.3333,
          "hard_hit_edge": 0.0143,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.7333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "630105",
        "player_name": "Jake Cronenworth",
        "offense_factor": 0.9549,
        "quality_score": -0.6015,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "630105",
          "espn_rank": null
        },
        "metrics": {
          "pa": 383.0,
          "k_percent": 22.8,
          "bb_percent": 8.9,
          "woba": 0.287,
          "xwoba": 0.275,
          "xba": 0.213,
          "xslg": 0.308,
          "sweet_spot_percent": 30.7,
          "barrel_batted_rate": 3.9,
          "hard_hit_percent": 29.7,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 11.4,
          "whiff_percent": 21.3,
          "swing_percent": 45.8
        },
        "components": {
          "expected_quality": -0.6436,
          "regression_edge": -0.3429,
          "xwoba_edge": -0.6857,
          "xba_edge": -0.6571,
          "xslg_edge": -0.7857,
          "barrel_edge": -0.6,
          "hard_hit_edge": -1.1286,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": -0.4333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "669392",
        "player_name": "Samad Taylor",
        "offense_factor": 0.9823,
        "quality_score": -0.2355,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669392",
          "espn_rank": null
        },
        "metrics": {
          "pa": 143.0,
          "k_percent": 25.7,
          "bb_percent": 10.3,
          "woba": 0.356,
          "xwoba": 0.309,
          "xba": 0.256,
          "xslg": 0.328,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 3.6,
          "hard_hit_percent": 25.2,
          "exit_velocity_avg": 85.9,
          "launch_angle_avg": 9.0,
          "whiff_percent": 25.2,
          "swing_percent": 44.1
        },
        "components": {
          "expected_quality": -0.2026,
          "regression_edge": -1.3429,
          "xwoba_edge": 0.2857,
          "xba_edge": 0.5714,
          "xslg_edge": -0.5,
          "barrel_edge": -0.6667,
          "hard_hit_edge": -1.7714,
          "exit_velocity_edge": -1.0,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.037,
    "raw_average_factor": 1.037,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "694192",
        "player_name": "Jackson Chourio",
        "offense_factor": 1.0702,
        "quality_score": 0.9355,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "694192",
          "espn_rank": null
        },
        "metrics": {
          "pa": 523.0,
          "k_percent": 23.4,
          "bb_percent": 8.2,
          "woba": 0.361,
          "xwoba": 0.344,
          "xba": 0.265,
          "xslg": 0.475,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 12.3,
          "hard_hit_percent": 47.0,
          "exit_velocity_avg": 91.6,
          "launch_angle_avg": 11.8,
          "whiff_percent": 25.1,
          "swing_percent": 47.8
        },
        "components": {
          "expected_quality": 1.1669,
          "regression_edge": -0.4857,
          "xwoba_edge": 1.2857,
          "xba_edge": 0.8286,
          "xslg_edge": 1.6,
          "barrel_edge": 1.2667,
          "hard_hit_edge": 1.3429,
          "exit_velocity_edge": 1.28,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "592885",
        "player_name": "Christian Yelich",
        "offense_factor": 1.0168,
        "quality_score": 0.2241,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "592885",
          "espn_rank": null
        },
        "metrics": {
          "pa": 456.0,
          "k_percent": 27.0,
          "bb_percent": 9.8,
          "woba": 0.305,
          "xwoba": 0.308,
          "xba": 0.23,
          "xslg": 0.385,
          "sweet_spot_percent": 29.5,
          "barrel_batted_rate": 9.6,
          "hard_hit_percent": 42.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 4.0,
          "whiff_percent": 29.6,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.2466,
          "regression_edge": 0.0857,
          "xwoba_edge": 0.2571,
          "xba_edge": -0.1714,
          "xslg_edge": 0.3143,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 0.7571,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.6333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "661388",
        "player_name": "William Contreras",
        "offense_factor": 1.0555,
        "quality_score": 0.7396,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "661388",
          "espn_rank": null
        },
        "metrics": {
          "pa": 590.0,
          "k_percent": 14.7,
          "bb_percent": 9.5,
          "woba": 0.33,
          "xwoba": 0.334,
          "xba": 0.261,
          "xslg": 0.441,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 8.5,
          "hard_hit_percent": 44.1,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 13.2,
          "whiff_percent": 20.7,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": 0.8414,
          "regression_edge": 0.1143,
          "xwoba_edge": 1.0,
          "xba_edge": 0.7143,
          "xslg_edge": 1.1143,
          "barrel_edge": 0.4222,
          "hard_hit_edge": 0.9286,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "668930",
        "player_name": "Brice Turang",
        "offense_factor": 1.0512,
        "quality_score": 0.6822,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "668930",
          "espn_rank": null
        },
        "metrics": {
          "pa": 619.0,
          "k_percent": 25.1,
          "bb_percent": 13.2,
          "woba": 0.358,
          "xwoba": 0.344,
          "xba": 0.255,
          "xslg": 0.428,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 41.6,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 8.8,
          "whiff_percent": 23.1,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 0.8584,
          "regression_edge": -0.4,
          "xwoba_edge": 1.2857,
          "xba_edge": 0.5429,
          "xslg_edge": 0.9286,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.5714,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "641343",
        "player_name": "Jake Bauers",
        "offense_factor": 1.0987,
        "quality_score": 1.3163,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641343",
          "espn_rank": null
        },
        "metrics": {
          "pa": 526.0,
          "k_percent": 27.0,
          "bb_percent": 16.3,
          "woba": 0.381,
          "xwoba": 0.371,
          "xba": 0.253,
          "xslg": 0.467,
          "sweet_spot_percent": 38.6,
          "barrel_batted_rate": 14.0,
          "hard_hit_percent": 51.9,
          "exit_velocity_avg": 92.1,
          "launch_angle_avg": 12.1,
          "whiff_percent": 29.8,
          "swing_percent": 40.6
        },
        "components": {
          "expected_quality": 1.5771,
          "regression_edge": -0.2857,
          "xwoba_edge": 2.0571,
          "xba_edge": 0.4857,
          "xslg_edge": 1.4857,
          "barrel_edge": 1.6444,
          "hard_hit_edge": 2.0429,
          "exit_velocity_edge": 1.48,
          "sweet_spot_edge": 0.8833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "806198",
        "player_name": "Cooper Pratt",
        "offense_factor": 1.0048,
        "quality_score": 0.0641,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "806198",
          "espn_rank": null
        },
        "metrics": {
          "pa": 232.0,
          "k_percent": 18.0,
          "bb_percent": 9.8,
          "woba": 0.32,
          "xwoba": 0.315,
          "xba": 0.266,
          "xslg": 0.362,
          "sweet_spot_percent": 41.1,
          "barrel_batted_rate": 3.2,
          "hard_hit_percent": 27.4,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 9.1,
          "whiff_percent": 21.8,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": 0.0977,
          "regression_edge": -0.1429,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.8571,
          "xslg_edge": -0.0143,
          "barrel_edge": -0.7556,
          "hard_hit_edge": -1.4571,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": 1.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "686217",
        "player_name": "Sal Frelick",
        "offense_factor": 0.966,
        "quality_score": -0.4529,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "686217",
          "espn_rank": null
        },
        "metrics": {
          "pa": 356.0,
          "k_percent": 9.9,
          "bb_percent": 8.1,
          "woba": 0.275,
          "xwoba": 0.281,
          "xba": 0.241,
          "xslg": 0.324,
          "sweet_spot_percent": 27.4,
          "barrel_batted_rate": 2.3,
          "hard_hit_percent": 26.8,
          "exit_velocity_avg": 85.7,
          "launch_angle_avg": 9.8,
          "whiff_percent": 10.1,
          "swing_percent": 42.8
        },
        "components": {
          "expected_quality": -0.5545,
          "regression_edge": 0.1714,
          "xwoba_edge": -0.5143,
          "xba_edge": 0.1429,
          "xslg_edge": -0.5571,
          "barrel_edge": -0.9556,
          "hard_hit_edge": -1.5429,
          "exit_velocity_edge": -1.08,
          "sweet_spot_edge": -0.9833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "669003",
        "player_name": "Garrett Mitchell",
        "offense_factor": 1.0836,
        "quality_score": 1.1148,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669003",
          "espn_rank": null
        },
        "metrics": {
          "pa": 480.0,
          "k_percent": 31.5,
          "bb_percent": 11.3,
          "woba": 0.34,
          "xwoba": 0.353,
          "xba": 0.268,
          "xslg": 0.447,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 11.7,
          "hard_hit_percent": 52.7,
          "exit_velocity_avg": 93.2,
          "launch_angle_avg": 2.2,
          "whiff_percent": 35.8,
          "swing_percent": 43.9
        },
        "components": {
          "expected_quality": 1.2358,
          "regression_edge": 0.3714,
          "xwoba_edge": 1.5429,
          "xba_edge": 0.9143,
          "xslg_edge": 1.2,
          "barrel_edge": 1.1333,
          "hard_hit_edge": 2.1571,
          "exit_velocity_edge": 1.92,
          "sweet_spot_edge": -0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "687401",
        "player_name": "Joey Ortiz",
        "offense_factor": 0.9858,
        "quality_score": -0.1888,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "687401",
          "espn_rank": null
        },
        "metrics": {
          "pa": 378.0,
          "k_percent": 19.8,
          "bb_percent": 8.4,
          "woba": 0.321,
          "xwoba": 0.297,
          "xba": 0.243,
          "xslg": 0.346,
          "sweet_spot_percent": 29.2,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 37.6,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 6.4,
          "whiff_percent": 19.9,
          "swing_percent": 44.8
        },
        "components": {
          "expected_quality": -0.1079,
          "regression_edge": -0.6857,
          "xwoba_edge": -0.0571,
          "xba_edge": 0.2,
          "xslg_edge": -0.2429,
          "barrel_edge": -0.5778,
          "hard_hit_edge": 0.0,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.6833,
          "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 MILRobert GasserTrue--0.026311.00220.98570.96400.9891neutral0.31700.309022.307.4022.507.6034
Home SDWalker BuehlerTrue--0.162811.01380.95600.99201.0302neutral0.31700.329020.108.8019.508.4038.70

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away MILRobert GasserTrueNone8288.38227900000000-0.0829
Home SDWalker BuehlerTrueNone6989.84219900000000-0.0012
Run FactorValue
away_runs_vs_home_pitcher1.0060
home_runs_vs_away_pitcher1.0040
home_pitcher_starter_only_factor1.0138
away_pitcher_starter_only_factor1.0022
home_pitcher_workload_share0.5185
away_pitcher_workload_share0.5926
home_pitcher_quality_edge-0.0688
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "621111",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 583.0,
      "k_percent": 20.1,
      "bb_percent": 8.8,
      "woba": 0.329,
      "xwoba": 0.317,
      "sweet_spot_percent": 30.9,
      "barrel_batted_rate": 8.4,
      "hard_hit_percent": 38.7,
      "avg_best_speed": 78.722,
      "avg_hyper_speed": 94.112,
      "whiff_percent": 19.5,
      "swing_percent": 45.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.169,
      "command_and_miss": -0.3936,
      "regression_edge": 0.3429,
      "xwoba_edge": -0.1429,
      "barrel_edge": -0.2667,
      "hard_hit_edge": -0.1143,
      "whiff_edge": -0.8143,
      "bb_edge": 0.1,
      "pitch_design_score": -0.0012
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "621111",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 69,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 69,
        "pitch_usage": 0.0,
        "release_speed": 89.84218390169383,
        "release_spin_rate": 2199.080983688629,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 69,
          "pitch_usage": 0.0,
          "release_speed": 89.84218390169383,
          "release_spin_rate": 2199.080983688629,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 89.8422,
        "release_spin_rate": 2199.081,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0012,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.0088,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1628,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0138,
    "strikeout_factor": 0.956,
    "walk_factor": 0.992,
    "homer_factor": 1.0302,
    "woba_minus_xwoba": 0.012,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "621111",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "688107",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 414.0,
      "k_percent": 22.3,
      "bb_percent": 7.4,
      "woba": 0.309,
      "xwoba": 0.317,
      "sweet_spot_percent": 37.8,
      "barrel_batted_rate": 7.6,
      "hard_hit_percent": 34.0,
      "avg_best_speed": 74.5916,
      "avg_hyper_speed": 93.1705,
      "whiff_percent": 22.5,
      "swing_percent": 49.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.0205,
      "command_and_miss": -0.0321,
      "regression_edge": -0.2286,
      "xwoba_edge": -0.1429,
      "barrel_edge": -0.0889,
      "hard_hit_edge": 0.5571,
      "whiff_edge": -0.3857,
      "bb_edge": 0.45,
      "pitch_design_score": -0.0829
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "688107",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 82,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 82,
        "pitch_usage": 0.0,
        "release_speed": 88.38349307541424,
        "release_spin_rate": 2279.059113316552,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 88.38349307541424,
          "release_spin_rate": 2279.059113316552,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.3835,
        "release_spin_rate": 2279.0591,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0829,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.5923,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0263,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0022,
    "strikeout_factor": 0.9857,
    "walk_factor": 0.964,
    "homer_factor": 0.9891,
    "woba_minus_xwoba": -0.008,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "688107",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.006,
    "home_runs_vs_away_pitcher": 1.004,
    "home_pitcher_starter_only_factor": 1.0138,
    "away_pitcher_starter_only_factor": 1.0022,
    "home_pitcher_workload_share": 0.5185,
    "away_pitcher_workload_share": 0.5926,
    "home_pitcher_quality_edge": -0.0688
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 4.0241,
    "home_runs": 4.0161,
    "home_win_probability": 0.4981
  },
  "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 MIL8-20.8004.403145Waveragestrong
Home SD8-20.8006.304.50182Whotaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away MIL103-590.6362141.321True
Home SD91-710.562410.253True
Signal---1.068-0.723applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-12MIL @ SD3 - 4SD1close
2026-08-11MIL @ SD2 - 11SD9blowout
2026-08-10MIL @ SD2 - 3SD1close
2026-05-14SD @ MIL1 - 7MIL6blowout
2026-05-13SD @ MIL3 - 1SD2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target MIL--6----
Game target SD--5----
Player finalized MIL38861639
Player finalized SD37751538
Player model fractional MIL34.168.934.861.104.933.887.63
Player model fractional SD32.597.574.100.993.852.887.64
Simulation box MIL38861639
Simulation box SD37751538

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 MILStarterRobert Gasser3.2024312.951.11True
Away MILMiddle Reliever (High Leverage)Antonio Senzatela111012.301.36True
Away MILSetup ManAaron Ashby1.1012102.020.84True
Away MILCloserTrevor Megill401312.740.91True
Home SDStarterWalker Buehler3.2034434.201.27True
Home SDLong RelieverBradgley Rodriguez1.1001002.141.07True
Home SDSetup ManJason Adam101003.511.22True
Home SDCloserAdrian Morejon423402.951.14True
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
awayMILpitcherStarterRobert Gasserdeboosted40422predicted_ER-3.0000deboostbetter
awayMILpitcherCloserTrevor Megillworse43113predicted_H3.0000boostworse
homeSDpitcherStarterWalker Buehlerworse51423predicted_BB3.0000boostworse
homeSDpitcherCloserAdrian Morejonworse55023predicted_H3.0000boostworse
homeSDbatterCFJackson Merrillworse94545predicted_RBI2.4600boostbetter
homeSDbatterDHAustin Haysboosted106455predicted_AB2.3250boostbetter
awayMILpitcherSetup ManAaron Ashbyworse43113predicted_SO2.0000boostbetter
homeSDbatterRFFernando Tatis Jr.worse114756predicted_AB-1.9600deboostworse
awayMILbatter2BBrice Turangbetter117483predicted_H1.9500boostbetter
awayMILbatterCWilliam Contrerasworse124839predicted_AB-1.9400deboostworse
awayMILbatterSSCooper Prattworse95445predicted_AB1.7600boostbetter
homeSDbatterLFSamad Taylorworse102837predicted_R1.4710boostbetter
awayMILbatterDHChristian Yelichworse114756predicted_RBI1.4500boostbetter
awayMILbatterLFJackson Chourioworse12111210predicted_H-1.3400deboostworse
awayMILbatter3BJoey Ortizworse113847predicted_H1.1690boostbetter
homeSDbatter2BJake Cronenworthworse12210111predicted_SO1.1150boostworse
awayMILpitcherMiddle Reliever (High Leverage)Antonio Senzatelaboosted22011predicted_ER1.0000boostworse
homeSDbatter3BManny Machadoworse124829predicted_SF1.0000boosthigher
homeSDpitcherLong RelieverBradgley Rodriguezworse30312predicted_H-1.0000deboostbetter
homeSDpitcherSetup ManJason Adambetter10110predicted_BB-1.0000deboostbetter
homeSDbatter1BTy Franceworse124839predicted_AB0.9900boostbetter
awayMILbatterCFGarrett Mitchellworse93627predicted_H-0.9100deboostworse
homeSDbatterSSXander Bogaertsworse1129110predicted_H-0.8700deboostworse
awayMILbatter1BJake Bauersbetter106473predicted_2B0.8580boostbetter
homeSDbatterCLuis Campusanodeboosted104655predicted_2B0.8360boostbetter
awayMILbatterRFSal Frelickworse104637predicted_AB0.8300boostbetter

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

Away Team: MIL

Away Pitcher Deep Analysis

FieldValue
PitcherRobert Gasser
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0263
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0829
Avg Velo88.3835
Avg Spin2279.0591
HB Inches0
IVB Inches0
Release Extension0
Pre IP3.2000
Pre ER2
Pre H3
Pre BB1
Pre SO4
Season ERA3.8689
Season WHIP1.1890
Role Avg IP5.2000
Recent Avg IP5.4000
Last Start IP6
Team Form Snapshot
{
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.1939,
    "offense_edge": 0.1449,
    "opponent_offense_edge": -0.0064,
    "defense_strength": 0.1759,
    "opponent_defense_weakness": -0.0671,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.9717,
    "strikeout": 1.0063
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "688107",
    "profile": {
      "available": true,
      "pitcher_id": "688107",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 414.0,
        "k_percent": 22.3,
        "bb_percent": 7.4,
        "woba": 0.309,
        "xwoba": 0.317,
        "sweet_spot_percent": 37.8,
        "barrel_batted_rate": 7.6,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 74.5916,
        "avg_hyper_speed": 93.1705,
        "whiff_percent": 22.5,
        "swing_percent": 49.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.0205,
        "command_and_miss": -0.0321,
        "regression_edge": -0.2286,
        "xwoba_edge": -0.1429,
        "barrel_edge": -0.0889,
        "hard_hit_edge": 0.5571,
        "whiff_edge": -0.3857,
        "bb_edge": 0.45,
        "pitch_design_score": -0.0829
      },
      "quality_score": -0.0263,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0022,
      "strikeout_factor": 0.9857,
      "walk_factor": 0.964,
      "homer_factor": 0.9891,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "688107",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0022,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 1.0022,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.964,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9891,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9857,
        "adjusted": 5
      }
    }
  },
  "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": 52.0,
    "ER": 17,
    "H": 42,
    "BB": 21,
    "SO": 51,
    "HR": 4,
    "ERA": 2.9423076923076925,
    "WHIP": 1.2115384615384617,
    "K9": 8.826923076923078,
    "HR9": 0.6923076923076924,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "688107",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 82,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 82,
    "pitch_usage": 0.0,
    "release_speed": 88.38349307541424,
    "release_spin_rate": 2279.059113316552,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 82,
      "pitch_usage": 0.0,
      "release_speed": 88.38349307541424,
      "release_spin_rate": 2279.059113316552,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3835,
    "release_spin_rate": 2279.0591,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0829,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5923,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 21.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8077,
    "prior_weight": 0.1923
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "688107",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 27.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 13.0,
        "BB": 10.0,
        "SO": 25.0,
        "HR": 2.0,
        "BF": 105.0,
        "Pitches": 442.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 1.2,
        "H": 2.6,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.4,
        "BF": 21.0,
        "Pitches": 88.4
      },
      "rates": {
        "ERA": 1.6667,
        "WHIP": 0.8519,
        "ER_per_IP": 0.18519,
        "H_per_IP": 0.48148,
        "BB_per_IP": 0.37037,
        "SO_per_IP": 0.92593,
        "HR_per_IP": 0.07407
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 52.0,
        "ER": 17.0,
        "R": 18.0,
        "H": 42.0,
        "BB": 21.0,
        "SO": 51.0,
        "HR": 4.0,
        "BF": 221.0,
        "Pitches": 873.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.7,
        "R": 1.8,
        "H": 4.2,
        "BB": 2.1,
        "SO": 5.1,
        "HR": 0.4,
        "BF": 22.1,
        "Pitches": 87.3
      },
      "rates": {
        "ERA": 2.9423,
        "WHIP": 1.2115,
        "ER_per_IP": 0.32692,
        "H_per_IP": 0.80769,
        "BB_per_IP": 0.40385,
        "SO_per_IP": 0.98077,
        "HR_per_IP": 0.07692
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 109.1,
        "ER": 47.0,
        "R": 49.0,
        "H": 95.0,
        "BB": 35.0,
        "SO": 103.0,
        "HR": 15.0,
        "BF": 463.0,
        "Pitches": 1817.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.2381,
        "R": 2.3333,
        "H": 4.5238,
        "BB": 1.6667,
        "SO": 4.9048,
        "HR": 0.7143,
        "BF": 22.0476,
        "Pitches": 86.5238
      },
      "rates": {
        "ERA": 3.8689,
        "WHIP": 1.189,
        "ER_per_IP": 0.42988,
        "H_per_IP": 0.8689,
        "BB_per_IP": 0.32012,
        "SO_per_IP": 0.94207,
        "HR_per_IP": 0.1372
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 1.749,
    "predicted_H": 3.91,
    "predicted_BB": 1.993,
    "predicted_SO": 5.043,
    "predicted_HR": 0.53,
    "predicted_ERA": 2.9518,
    "predicted_WHIP": 1.1068
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4312,
  "form_weight": 0.5688,
  "form_reliability": 0.8077,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 21.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8077,
    "prior_weight": 0.1923
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 5.0,
      "form": 1.749,
      "final": 3.151,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 3.91,
      "final": 3.9488,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.993,
      "final": 1.5648,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.043,
      "final": 5.0245,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.53,
      "final": 0.3014,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9518,
      "final": 2.9518,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1068,
      "final": 1.1068,
      "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
PitcherAntonio Senzatela
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0156
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER1
Pre H0
Pre BB1
Pre SO1
Season ERA3.9600
Season WHIP1.3733
Role Avg IP1.2050
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.1939,
    "offense_edge": 0.1449,
    "opponent_offense_edge": -0.0064,
    "defense_strength": 0.1759,
    "opponent_defense_weakness": -0.0671,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.9717,
    "strikeout": 1.0063
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "622608",
    "profile": {
      "available": true,
      "pitcher_id": "622608",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 281.0,
        "k_percent": 19.3,
        "bb_percent": 8.4,
        "woba": 0.31,
        "xwoba": 0.31,
        "sweet_spot_percent": 32.3,
        "barrel_batted_rate": 6.3,
        "hard_hit_percent": 40.4,
        "avg_best_speed": 77.0219,
        "avg_hyper_speed": 94.2889,
        "whiff_percent": 23.5,
        "swing_percent": 49.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0766,
        "command_and_miss": -0.225,
        "regression_edge": 0.0,
        "xwoba_edge": 0.0571,
        "barrel_edge": 0.2,
        "hard_hit_edge": -0.3571,
        "whiff_edge": -0.2429,
        "bb_edge": 0.2,
        "pitch_design_score": 0.0
      },
      "quality_score": -0.0156,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0013,
      "strikeout_factor": 0.9743,
      "walk_factor": 0.984,
      "homer_factor": 0.9966,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "622608",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0013,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0013,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.984,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9966,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9743,
        "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": 8.1,
    "ER": 2,
    "H": 9,
    "BB": 2,
    "SO": 6,
    "HR": 1,
    "ERA": 2.16,
    "WHIP": 1.3200000000000003,
    "K9": 6.480000000000001,
    "HR9": 1.08,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "622608",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.487,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7559,
    "prior_weight": 0.2441
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "622608",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 59,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 0.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 60.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 12.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.3846,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 35.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.1,
        "BF": 3.5,
        "Pitches": 13.1
      },
      "rates": {
        "ERA": 2.16,
        "WHIP": 1.32,
        "ER_per_IP": 0.24,
        "H_per_IP": 1.08,
        "BB_per_IP": 0.24,
        "SO_per_IP": 0.72,
        "HR_per_IP": 0.12
      }
    },
    "season": {
      "games": 59,
      "totals": {
        "IP": 75.0,
        "ER": 33.0,
        "R": 38.0,
        "H": 76.0,
        "BB": 27.0,
        "SO": 61.0,
        "HR": 6.0,
        "BF": 319.0,
        "Pitches": 1190.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.5593,
        "R": 0.6441,
        "H": 1.2881,
        "BB": 0.4576,
        "SO": 1.0339,
        "HR": 0.1017,
        "BF": 5.4068,
        "Pitches": 20.1695
      },
      "rates": {
        "ERA": 3.96,
        "WHIP": 1.3733,
        "ER_per_IP": 0.44,
        "H_per_IP": 1.01333,
        "BB_per_IP": 0.36,
        "SO_per_IP": 0.81333,
        "HR_per_IP": 0.08
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.246,
    "predicted_H": 0.956,
    "predicted_BB": 0.354,
    "predicted_SO": 0.748,
    "predicted_HR": 0.077,
    "predicted_ERA": 2.299,
    "predicted_WHIP": 1.3612
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4531,
  "form_weight": 0.5469,
  "form_reliability": 0.7559,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.487,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7559,
    "prior_weight": 0.2441
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.246,
      "final": 0.1345,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.956,
      "final": 0.5228,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.354,
      "final": 0.6467,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.748,
      "final": 0.4091,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.077,
      "final": 0.0421,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.299,
      "final": 2.299,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3612,
      "final": 1.3612,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherAaron Ashby
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7133
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1497
Avg Velo92.5376
Avg Spin2237.9882
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA3.0326
Season WHIP1.2935
Role Avg IP1.1800
Recent Avg IP1.5330
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.1939,
    "offense_edge": 0.1449,
    "opponent_offense_edge": -0.0064,
    "defense_strength": 0.1759,
    "opponent_defense_weakness": -0.0671,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.9717,
    "strikeout": 1.0063
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676879",
    "profile": {
      "available": true,
      "pitcher_id": "676879",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 358.0,
        "k_percent": 30.3,
        "bb_percent": 10.7,
        "woba": 0.287,
        "xwoba": 0.268,
        "sweet_spot_percent": 28.1,
        "barrel_batted_rate": 4.9,
        "hard_hit_percent": 40.2,
        "avg_best_speed": 76.2048,
        "avg_hyper_speed": 94.4472,
        "whiff_percent": 32.1,
        "swing_percent": 40.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.7853,
        "command_and_miss": 0.7971,
        "regression_edge": 0.5429,
        "xwoba_edge": 1.2571,
        "barrel_edge": 0.5111,
        "hard_hit_edge": -0.3286,
        "whiff_edge": 0.9857,
        "bb_edge": -0.375,
        "pitch_design_score": 0.1497
      },
      "quality_score": 0.7133,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9394,
      "strikeout_factor": 1.0863,
      "walk_factor": 1.03,
      "homer_factor": 0.9345,
      "woba_minus_xwoba": 0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676879",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9394,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9394,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.03,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9345,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0863,
        "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": 13.0,
    "ER": 3,
    "H": 9,
    "BB": 3,
    "SO": 9,
    "HR": 1,
    "ERA": 2.0769230769230766,
    "WHIP": 0.9230769230769229,
    "K9": 6.23076923076923,
    "HR9": 0.6923076923076922,
    "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-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676879",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 26,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 26,
    "pitch_usage": 0.0,
    "release_speed": 92.53759546608512,
    "release_spin_rate": 2237.9882290125556,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 26,
      "pitch_usage": 0.0,
      "release_speed": 92.53759546608512,
      "release_spin_rate": 2237.9882290125556,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5376,
    "release_spin_rate": 2237.9882,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1497,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0694,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.997,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7916,
    "prior_weight": 0.2084
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "676879",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 77,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 107.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.0,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 5.0,
        "Pitches": 21.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2609,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.26087,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.91304,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 50.0,
        "Pitches": 205.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.3,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 5.0,
        "Pitches": 20.5
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 0.9231,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.69231,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.07692
      }
    },
    "season": {
      "games": 77,
      "totals": {
        "IP": 92.0,
        "ER": 31.0,
        "R": 36.0,
        "H": 78.0,
        "BB": 41.0,
        "SO": 118.0,
        "HR": 8.0,
        "BF": 392.0,
        "Pitches": 1617.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4026,
        "R": 0.4675,
        "H": 1.013,
        "BB": 0.5325,
        "SO": 1.5325,
        "HR": 0.1039,
        "BF": 5.0909,
        "Pitches": 21.0
      },
      "rates": {
        "ERA": 3.0326,
        "WHIP": 1.2935,
        "ER_per_IP": 0.33696,
        "H_per_IP": 0.84783,
        "BB_per_IP": 0.44565,
        "SO_per_IP": 1.28261,
        "HR_per_IP": 0.08696
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.326,
    "predicted_H": 0.907,
    "predicted_BB": 0.31,
    "predicted_SO": 1.328,
    "predicted_HR": 0.096,
    "predicted_ERA": 2.0193,
    "predicted_WHIP": 0.8381
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.438,
  "form_weight": 0.562,
  "form_reliability": 0.7916,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.997,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7916,
    "prior_weight": 0.2084
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.326,
      "final": 0.1832,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.907,
      "final": 0.9477,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.31,
      "final": 0.1742,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.328,
      "final": 0.7463,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.096,
      "final": 0.0539,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0193,
      "final": 2.0193,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8381,
      "final": 0.8381,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherTrevor Megill
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5987
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP4
Pre ER0
Pre H3
Pre BB1
Pre SO1
Season ERA1.9688
Season WHIP0.8438
Role Avg IP1
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.1939,
    "offense_edge": 0.1449,
    "opponent_offense_edge": -0.0064,
    "defense_strength": 0.1759,
    "opponent_defense_weakness": -0.0671,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0133,
    "run_prevention": 0.9717,
    "strikeout": 1.0063
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656730",
    "profile": {
      "available": true,
      "pitcher_id": "656730",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 216.0,
        "k_percent": 28.5,
        "bb_percent": 6.2,
        "woba": 0.208,
        "xwoba": 0.252,
        "sweet_spot_percent": 28.7,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 42.0,
        "avg_best_speed": 81.2085,
        "avg_hyper_speed": 94.3067,
        "whiff_percent": 30.5,
        "swing_percent": 54.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": 1.0782,
        "command_and_miss": 0.8264,
        "regression_edge": -1.2571,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.1778,
        "hard_hit_edge": -0.5857,
        "whiff_edge": 0.7571,
        "bb_edge": 0.75,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.5987,
      "sample_weight": 0.864,
      "run_prevention_factor": 0.9491,
      "strikeout_factor": 1.0578,
      "walk_factor": 0.9482,
      "homer_factor": 0.9635,
      "woba_minus_xwoba": -0.044,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656730",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.956,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.956,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9552,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9685,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0499,
        "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": 5,
    "H": 10,
    "BB": 1,
    "SO": 9,
    "HR": 1,
    "ERA": 4.655172413793104,
    "WHIP": 1.1379310344827587,
    "K9": 8.379310344827587,
    "HR9": 0.9310344827586208,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "656730",
  "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.215,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7255,
    "prior_weight": 0.2745
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656730",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 64,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 57.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 11.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 10.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 135.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 1.0,
        "BB": 0.1,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 13.5
      },
      "rates": {
        "ERA": 4.6552,
        "WHIP": 1.1379,
        "ER_per_IP": 0.51724,
        "H_per_IP": 1.03448,
        "BB_per_IP": 0.10345,
        "SO_per_IP": 0.93103,
        "HR_per_IP": 0.10345
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 64.0,
        "ER": 14.0,
        "R": 16.0,
        "H": 39.0,
        "BB": 15.0,
        "SO": 71.0,
        "HR": 1.0,
        "BF": 245.0,
        "Pitches": 891.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2188,
        "R": 0.25,
        "H": 0.6094,
        "BB": 0.2344,
        "SO": 1.1094,
        "HR": 0.0156,
        "BF": 3.8281,
        "Pitches": 13.9219
      },
      "rates": {
        "ERA": 1.9688,
        "WHIP": 0.8438,
        "ER_per_IP": 0.21875,
        "H_per_IP": 0.60938,
        "BB_per_IP": 0.23438,
        "SO_per_IP": 1.10938,
        "HR_per_IP": 0.01562
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.304,
    "predicted_H": 0.744,
    "predicted_BB": 0.165,
    "predicted_SO": 0.96,
    "predicted_HR": 0.069,
    "predicted_ERA": 2.7372,
    "predicted_WHIP": 0.9087
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.466,
  "form_weight": 0.534,
  "form_reliability": 0.7255,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.215,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7255,
    "prior_weight": 0.2745
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.304,
      "final": 0.1623,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.744,
      "final": 0.3973,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.165,
      "final": 0.0881,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 0.96,
      "final": 1.9106,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.069,
      "final": 0.0368,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7372,
      "final": 2.7372,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9087,
      "final": 0.9087,
      "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."
}
Jackson Chourio (694192) · BATTER · LF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 544
All-history rows before 20261007: 544
System season_avg: 0.2920
Data season_avg (2026 season-to-date): 0.2995
Diff (system - data): -0.0075
System opponent_avg: 0.3040

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2110.0000.000Hitting_2B0.2520.000-0.2520.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB5.3205.0005.000Hitting_AB4.2724.0000.7281.000
predicted_AVG0.2510.0000.000Hitting_AVG0.2990.000-0.2990.000
predicted_BB0.3670.0000.000Hitting_BB0.3790.000-0.3790.000
predicted_CS-0.0000.000BaseRunning_CS0.0400.000-0.0400.000
predicted_H1.3400.0000.000Hitting_H1.2790.000-1.2790.000
predicted_HR0.2400.0000.000Hitting_HR0.2000.000-0.2000.000
predicted_OBP0.3370.0000.000Hitting_OBP0.3570.000-0.3570.000
predicted_R0.7580.0000.000Hitting_R0.8200.000-0.8200.000
predicted_RBI1.0900.0000.000Hitting_RBI0.6231.000-0.623-1.000
predicted_SLG0.4800.0000.000Hitting_SLG0.4990.000-0.4990.000
predicted_SO1.0550.0000.000Hitting_SO1.0961.000-1.096-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics1
Deboosted Metrics11
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_AVG: 0.2510 -> 0.2660 (boost 0.0150, better)
Biggest Deboostpredicted_H: 1.3400 -> 0.0000 (deboost -1.3400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend73443predicted_AVG: 0.2510 -> 0.2770 (boost 0.0260, better)predicted_AB: 5.3200 -> 4.7053 (deboost -0.6147, 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.4870 -> 0.4594 (deboost -0.0276, 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.9287 -> 1.0000 (boost 0.0713, worse)predicted_AB: 4.7053 -> 4.0000 (deboost -0.7053, worse)AB rounded to 4 (raw=5.32), rates preserved: AVG=0.251 HR/AB=0.043
6consistency_constraints11010predicted_R: 0.7866 -> 1.0000 (boost 0.2134, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_BB: 0.0000 -> 0.3901 (boost 0.3901, better)predicted_RBI: 1.0000 -> 0.5595 (deboost -0.4405, 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_allocation83535predicted_HR: 0.1751 -> 1.0000 (boost 0.8249, better)predicted_BB: 0.3901 -> 0.0000 (deboost -0.3901, 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_environment30303-predicted_SLG: 0.4350 -> 0.4240 (deboost -0.0110, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization61524predicted_AB: 4.0000 -> 5.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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_SLG: 0.4240 -> 0.4380 (boost 0.0140, 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": "694192",
  "player_name": "Jackson Chourio",
  "position": "LF",
  "team": "MIL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.0,
        "predicted_AB": 5.32,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.367,
        "predicted_H": 1.34,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.337,
        "predicted_R": 0.758,
        "predicted_RBI": 1.09,
        "predicted_SLG": 0.48,
        "predicted_SO": 1.055
      },
      "changed_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.1727,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.7053,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.34,
        "predicted_H": 1.2851,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.2226,
        "predicted_OBP": 0.349,
        "predicted_R": 0.7632,
        "predicted_RBI": 1.0037,
        "predicted_SLG": 0.487,
        "predicted_SO": 0.9396
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 5.32,
          "after": 4.7053,
          "delta": -0.6147,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.277,
          "delta": 0.026,
          "percent_delta": 0.1036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.34,
          "after": 1.2851,
          "delta": -0.0549,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.337,
          "after": 0.349,
          "delta": 0.012,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.09,
          "after": 1.0037,
          "delta": -0.0863,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.48,
          "after": 0.487,
          "delta": 0.007,
          "percent_delta": 0.0146,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.055,
          "after": 0.9396,
          "delta": -0.1154,
          "percent_delta": -0.1094,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.277,
          "delta": 0.026,
          "percent_delta": 0.1036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.32,
          "after": 4.7053,
          "delta": -0.6147,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 128
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1727,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.7053,
        "predicted_AVG": 0.2777,
        "predicted_BB": 0.3439,
        "predicted_H": 1.3068,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.2271,
        "predicted_OBP": 0.3269,
        "predicted_R": 0.7866,
        "predicted_RBI": 1.0344,
        "predicted_SLG": 0.4594,
        "predicted_SO": 0.9287
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.349,
          "after": 0.3269,
          "delta": -0.0221,
          "percent_delta": -0.0633,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.487,
          "after": 0.4594,
          "delta": -0.0276,
          "percent_delta": -0.0567,
          "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.487,
          "after": 0.4594,
          "delta": -0.0276,
          "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=5.32), rates preserved: AVG=0.251 HR/AB=0.043",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1727,
          "after": 0.0,
          "delta": -0.1727,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.7053,
          "after": 4.0,
          "delta": -0.7053,
          "percent_delta": -0.1499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3439,
          "after": 0.0,
          "delta": -0.3439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3068,
          "after": 1.0,
          "delta": -0.3068,
          "percent_delta": -0.2348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.075,
          "after": 0.0,
          "delta": -0.075,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2271,
          "after": 0.0,
          "delta": -0.2271,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9287,
          "after": 1.0,
          "delta": 0.0713,
          "percent_delta": 0.0768,
          "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.9287,
          "after": 1.0,
          "delta": 0.0713,
          "percent_delta": 0.0768,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.7053,
          "after": 4.0,
          "delta": -0.7053,
          "percent_delta": -0.1499,
          "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.7866,
          "after": 1.0,
          "delta": 0.2134,
          "percent_delta": 0.2713,
          "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.7866,
          "after": 1.0,
          "delta": 0.2134,
          "percent_delta": 0.2713,
          "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.1628,
        "predicted_3B": 0.0073,
        "predicted_BB": 0.3901,
        "predicted_H": 1.0712,
        "predicted_HR": 0.1751,
        "predicted_RBI": 0.5595,
        "predicted_SO": 1.0168
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1628,
          "delta": 0.1628,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3901,
          "delta": 0.3901,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0712,
          "delta": 0.0712,
          "percent_delta": 0.0712,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1751,
          "delta": 0.1751,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5595,
          "delta": -0.4405,
          "percent_delta": -0.4405,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.3901,
          "delta": 0.3901,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5595,
          "delta": -0.4405,
          "percent_delta": -0.4405,
          "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.262,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.435,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1628,
          "after": 0.0,
          "delta": -0.1628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2777,
          "after": 0.262,
          "delta": -0.0157,
          "percent_delta": -0.0565,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3901,
          "after": 0.0,
          "delta": -0.3901,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0712,
          "after": 1.0,
          "delta": -0.0712,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1751,
          "after": 1.0,
          "delta": 0.8249,
          "percent_delta": 4.711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3269,
          "after": 0.332,
          "delta": 0.0051,
          "percent_delta": 0.0156,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5595,
          "after": 1.0,
          "delta": 0.4405,
          "percent_delta": 0.7873,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4594,
          "after": 0.435,
          "delta": -0.0244,
          "percent_delta": -0.0531,
          "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_HR",
          "before": 0.1751,
          "after": 1.0,
          "delta": 0.8249,
          "percent_delta": 4.711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3901,
          "after": 0.0,
          "delta": -0.3901,
          "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.262,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.435,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.424,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.256,
          "delta": -0.006,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.325,
          "delta": -0.007,
          "percent_delta": -0.0211,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.424,
          "delta": -0.011,
          "percent_delta": -0.0253,
          "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.435,
          "after": 0.424,
          "delta": -0.011,
          "percent_delta": -0.0253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_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
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.266,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.438,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.266,
          "delta": 0.01,
          "percent_delta": 0.0391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.331,
          "delta": 0.006,
          "percent_delta": 0.0185,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.438,
          "delta": 0.014,
          "percent_delta": 0.033,
          "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.424,
          "after": 0.438,
          "delta": 0.014,
          "percent_delta": 0.033,
          "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.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 5.32,
        "after": 5.0,
        "delta": -0.32,
        "percent_delta": -0.0602,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.266,
        "delta": 0.015,
        "percent_delta": 0.0598,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.367,
        "after": 0.0,
        "delta": -0.367,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.34,
        "after": 0.0,
        "delta": -1.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.075,
        "after": 0.0,
        "delta": -0.075,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.337,
        "after": 0.331,
        "delta": -0.006,
        "percent_delta": -0.0178,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.758,
        "after": 0.0,
        "delta": -0.758,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 1.09,
        "after": 0.0,
        "delta": -1.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.48,
        "after": 0.438,
        "delta": -0.042,
        "percent_delta": -0.0875,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.055,
        "after": 0.0,
        "delta": -1.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 1,
      "deboosted_metrics": 11,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.266,
        "delta": 0.015,
        "percent_delta": 0.0598,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.34,
        "after": 0.0,
        "delta": -1.34,
        "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.211-
predicted_3B0.000-
predicted_AB5.320-
predicted_AVG0.251-
predicted_BB0.367-
predicted_H1.340-
predicted_HR0.240-
predicted_OBP0.337-
predicted_R0.758-
predicted_RBI1.090-
predicted_SLG0.480-
predicted_SO1.055-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.173-0.038
predicted_3B0.0000.000
predicted_AB4.705-0.615
predicted_AVG0.2770.026
predicted_BB0.340-0.027
predicted_H1.285-0.055
predicted_HBP0.075-
predicted_HR0.223-0.017
predicted_OBP0.3490.012
predicted_R0.7630.005
predicted_RBI1.004-0.086
predicted_SLG0.4870.007
predicted_SO0.940-0.115
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1730.000
predicted_3B0.0000.000
predicted_AB4.7050.000
predicted_AVG0.2780.001
predicted_BB0.3440.004
predicted_H1.3070.022
predicted_HBP0.0750.000
predicted_HR0.2270.005
predicted_OBP0.327-0.022
predicted_R0.7870.023
predicted_RBI1.0340.031
predicted_SLG0.459-0.028
predicted_SO0.929-0.011
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.32), rates preserved: AVG=0.251 HR/AB=0.043

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
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.1630.163
3B0.0070.007
BB0.3900.390
H1.0710.071
HR0.1750.175
RBI0.559-0.441
SO1.0170.017
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.007
AB4.0000.000
AVG0.262-
BB0.000-0.390
H1.000-0.071
HR1.0000.825
OBP0.332-
R1.0000.000
RBI1.0000.441
SLG0.435-
SO1.000-0.017
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.173
predicted_3B0.000-0.000
predicted_AB4.000-0.705
predicted_AVG0.262-0.016
predicted_BB0.000-0.344
predicted_H1.000-0.307
predicted_HR1.0000.773
predicted_OBP0.3320.005
predicted_R1.0000.213
predicted_RBI1.000-0.034
predicted_SLG0.435-0.024
predicted_SO1.0000.071
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.256-0.006
BB0.0000.000
H1.0000.000
HR1.0000.000
OBP0.325-0.007
R1.0000.000
RBI1.0000.000
SLG0.424-0.011
SO1.0000.000
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.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI0.000-1.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
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: 128
Reference playing time: 5.320
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0000.0000.0001.0008.0004.0000.0001.0000.35000.36360.50000.35000.05000.40000.00000.0500
last_100.2010-32.00011.0000.0000.0002.00010.0008.0004.0006.0000.34380.42110.53120.34380.06250.31250.12500.1875
season0.60128-528.000154.00027.0000.00026.00080.00097.00047.000135.0000.29170.35110.49050.29170.04920.15150.08900.2557
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1230
predicted_3B0.0010
predicted_AB3.9090
predicted_AVG0.3106
predicted_BB0.3050
predicted_H1.2140
predicted_HBP0.0750
predicted_HR0.2000
predicted_OBP0.3645
predicted_R0.7700
predicted_RBI0.8920
predicted_SLG0.4960
predicted_SO0.7900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.12300.1727model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB5.32003.90904.7053model_form_blend
predicted_AVG0.25100.31060.2770model_form_blend
predicted_BB0.36700.30500.3400model_form_blend
predicted_H1.34001.21401.2851model_form_blend
predicted_HBP-0.07500.0750form_only
predicted_HR0.24000.20000.2226model_form_blend
predicted_OBP0.33700.36450.3490model_form_blend
predicted_R0.75800.77000.7632model_form_blend
predicted_RBI1.09000.89201.0037model_form_blend
predicted_SLG0.48000.49600.4870model_form_blend
predicted_SO1.05500.79000.9396model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
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_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
Hitting_SO1
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261006_MIL@SD
game_typefull
mlbID694192
playerID694192
playerNameJackson Chourio
posLF
startedTrue
startingPositionLF
teamMIL
teamID16
game_date2026-10-06
sl_k_percent23.4
sl_bb_percent8.2
sl_woba0.361
sl_xwoba0.344
sl_xba0.265
sl_xslg0.475
sl_sweet_spot_percent33.3
sl_barrel_batted_rate12.3
sl_hard_hit_percent47.0
sl_exit_velocity_avg91.6
sl_launch_angle_avg11.8
sl_whiff_percent25.1
sl_swing_percent47.8
Christian Yelich (592885) · BATTER · DH · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 479
All-history rows before 20261007: 479
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2386
Diff (system - data): -0.0056
System opponent_avg: 0.2500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1880.0000.000Hitting_2B0.2000.000-0.2000.000
predicted_3B0.0170.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.3805.0005.000Hitting_AB3.9734.0001.0271.000
predicted_AVG0.2440.2000.200Hitting_AVG0.2390.500-0.039-0.300
predicted_BB0.4360.0000.000Hitting_BB0.4591.000-0.459-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H1.0701.0001.000Hitting_H0.9482.0000.052-1.000
predicted_HR0.1201.0001.000Hitting_HR0.1040.0000.8961.000
predicted_OBP0.3320.2000.200Hitting_OBP0.3220.600-0.122-0.400
predicted_R0.5902.0002.000Hitting_R0.6370.0001.3632.000
predicted_RBI0.5502.0002.000Hitting_RBI0.5261.0001.4741.000
predicted_SLG0.3710.8000.800Hitting_SLG0.3780.5000.4220.300
predicted_SO1.1280.0000.000Hitting_SO1.1820.000-1.1820.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.5500 -> 2.0000 (boost 1.4500, better)
Biggest Deboostpredicted_SO: 1.1280 -> 0.0000 (deboost -1.1280, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.3800 -> 4.0312 (deboost -0.3488, 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.3718 -> 0.3810 (boost 0.0092, better)predicted_OBP: 0.3323 -> 0.3242 (deboost -0.0081, 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_scaling50514-predicted_RBI: 0.5257 -> 0.0000 (deboost -0.5257, worse)AB rounded to 4 (raw=4.38), rates preserved: AVG=0.235 HR/AB=0.024
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
7consistency_constraints11010predicted_R: 0.5808 -> 1.0000 (boost 0.4192, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_BB: 0.0000 -> 0.4713 (boost 0.4713, better)predicted_H: 1.0000 -> 0.8778 (deboost -0.1222, 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_BB: 0.4713 -> 1.0000 (boost 0.5287, better)predicted_RBI: 0.4402 -> 0.0000 (deboost -0.4402, 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_environment30303-predicted_SLG: 0.3730 -> 0.3640 (deboost -0.0090, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization64251predicted_RBI: 0.0000 -> 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final10101-predicted_OBP: 0.3150 -> 0.3090 (deboost -0.0060, 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": "592885",
  "player_name": "Christian Yelich",
  "position": "DH",
  "team": "MIL",
  "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.017,
        "predicted_AB": 4.38,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.436,
        "predicted_H": 1.07,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.332,
        "predicted_R": 0.59,
        "predicted_RBI": 0.55,
        "predicted_SLG": 0.371,
        "predicted_SO": 1.128
      },
      "changed_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.1815,
        "predicted_3B": 0.014,
        "predicted_AB": 4.0312,
        "predicted_AVG": 0.2464,
        "predicted_BB": 0.4351,
        "predicted_H": 0.9929,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.1035,
        "predicted_OBP": 0.3323,
        "predicted_R": 0.5636,
        "predicted_RBI": 0.5101,
        "predicted_SLG": 0.3718,
        "predicted_SO": 1.0825
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.0312,
          "delta": -0.3488,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.07,
          "after": 0.9929,
          "delta": -0.0771,
          "percent_delta": -0.0721,
          "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_AB",
          "before": 4.38,
          "after": 4.0312,
          "delta": -0.3488,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1815,
        "predicted_3B": 0.014,
        "predicted_AB": 4.0312,
        "predicted_AVG": 0.2505,
        "predicted_BB": 0.4401,
        "predicted_H": 1.0097,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.1056,
        "predicted_OBP": 0.3242,
        "predicted_R": 0.5808,
        "predicted_RBI": 0.5257,
        "predicted_SLG": 0.381,
        "predicted_SO": 1.0699
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3323,
          "after": 0.3242,
          "delta": -0.0081,
          "percent_delta": -0.0244,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3718,
          "after": 0.381,
          "delta": 0.0092,
          "percent_delta": 0.0247,
          "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.3718,
          "after": 0.381,
          "delta": 0.0092,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3323,
          "after": 0.3242,
          "delta": -0.0081,
          "percent_delta": -0.0244,
          "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.38), rates preserved: AVG=0.235 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1815,
          "after": 0.0,
          "delta": -0.1815,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4401,
          "after": 0.0,
          "delta": -0.4401,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1056,
          "after": 0.0,
          "delta": -0.1056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5257,
          "after": 0.0,
          "delta": -0.5257,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0699,
          "after": 1.0,
          "delta": -0.0699,
          "percent_delta": -0.0653,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5257,
          "after": 0.0,
          "delta": -0.5257,
          "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.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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": 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.5808,
          "after": 1.0,
          "delta": 0.4192,
          "percent_delta": 0.7218,
          "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.5808,
          "after": 1.0,
          "delta": 0.4192,
          "percent_delta": 0.7218,
          "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.1456,
        "predicted_3B": 0.011,
        "predicted_BB": 0.4713,
        "predicted_H": 0.8778,
        "predicted_HR": 0.1223,
        "predicted_RBI": 0.4402,
        "predicted_SO": 1.029
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1456,
          "delta": 0.1456,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4713,
          "delta": 0.4713,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8778,
          "delta": -0.1222,
          "percent_delta": -0.1222,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1223,
          "delta": 0.1223,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4402,
          "delta": 0.4402,
          "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.4713,
          "delta": 0.4713,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8778,
          "delta": -0.1222,
          "percent_delta": -0.1222,
          "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.232,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.373,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1456,
          "after": 0.0,
          "delta": -0.1456,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2505,
          "after": 0.232,
          "delta": -0.0185,
          "percent_delta": -0.0739,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4713,
          "after": 1.0,
          "delta": 0.5287,
          "percent_delta": 1.1218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8778,
          "after": 1.0,
          "delta": 0.1222,
          "percent_delta": 0.1392,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1223,
          "after": 0.0,
          "delta": -0.1223,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4402,
          "after": 0.0,
          "delta": -0.4402,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.381,
          "after": 0.373,
          "delta": -0.008,
          "percent_delta": -0.021,
          "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_BB",
          "before": 0.4713,
          "after": 1.0,
          "delta": 0.5287,
          "percent_delta": 1.1218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4402,
          "after": 0.0,
          "delta": -0.4402,
          "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.232,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.226,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.226,
          "delta": -0.006,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.315,
          "delta": -0.007,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.373,
          "after": 0.364,
          "delta": -0.009,
          "percent_delta": -0.0241,
          "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.373,
          "after": 0.364,
          "delta": -0.009,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 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": 5.0,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.309,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.361,
        "predicted_SO": 0.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.309,
          "delta": -0.006,
          "percent_delta": -0.019,
          "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.315,
          "after": 0.309,
          "delta": -0.006,
          "percent_delta": -0.019,
          "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.188,
        "after": 0.0,
        "delta": -0.188,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.38,
        "after": 5.0,
        "delta": 0.62,
        "percent_delta": 0.1416,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.226,
        "delta": -0.018,
        "percent_delta": -0.0738,
        "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.07,
        "after": 1.0,
        "delta": -0.07,
        "percent_delta": -0.0654,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 1.0,
        "delta": 0.88,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.309,
        "delta": -0.023,
        "percent_delta": -0.0693,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.59,
        "after": 2.0,
        "delta": 1.41,
        "percent_delta": 2.3898,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.55,
        "after": 2.0,
        "delta": 1.45,
        "percent_delta": 2.6364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.371,
        "after": 0.361,
        "delta": -0.01,
        "percent_delta": -0.027,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.128,
        "after": 0.0,
        "delta": -1.128,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.55,
        "after": 2.0,
        "delta": 1.45,
        "percent_delta": 2.6364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.128,
        "after": 0.0,
        "delta": -1.128,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.188-
predicted_3B0.017-
predicted_AB4.380-
predicted_AVG0.244-
predicted_BB0.436-
predicted_H1.070-
predicted_HR0.120-
predicted_OBP0.332-
predicted_R0.590-
predicted_RBI0.550-
predicted_SLG0.371-
predicted_SO1.128-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.181-0.007
predicted_3B0.014-0.003
predicted_AB4.031-0.349
predicted_AVG0.2460.002
predicted_BB0.435-0.001
predicted_H0.993-0.077
predicted_HBP0.020-
predicted_HR0.103-0.017
predicted_OBP0.3320.000
predicted_R0.564-0.026
predicted_RBI0.510-0.040
predicted_SLG0.3720.001
predicted_SO1.083-0.045
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1810.000
predicted_3B0.0140.000
predicted_AB4.0310.000
predicted_AVG0.2510.004
predicted_BB0.4400.005
predicted_H1.0100.017
predicted_HBP0.0200.000
predicted_HR0.1060.002
predicted_OBP0.324-0.008
predicted_R0.5810.017
predicted_RBI0.5260.016
predicted_SLG0.3810.009
predicted_SO1.070-0.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
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.1460.146
3B0.0110.011
BB0.4710.471
H0.878-0.122
HR0.1220.122
RBI0.4400.440
SO1.0290.029
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.011
AB4.0000.000
AVG0.232-
BB1.0000.529
H1.0000.122
HR0.000-0.122
OBP0.322-
R1.0000.000
RBI0.000-0.440
SLG0.373-
SO1.000-0.029
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.181
predicted_3B0.000-0.014
predicted_AB4.000-0.031
predicted_AVG0.232-0.018
predicted_BB1.0000.560
predicted_H1.000-0.010
predicted_HR0.000-0.106
predicted_OBP0.322-0.002
predicted_R1.0000.419
predicted_RBI0.000-0.526
predicted_SLG0.373-0.008
predicted_SO1.000-0.070
11. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.226-0.006
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.315-0.007
R1.0000.000
RBI0.0000.000
SLG0.364-0.009
SO1.0000.000
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
AB5.0001.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R2.0001.000
RBI2.0002.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
AB5.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA5.0000.000
R2.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: 117
Reference playing time: 4.380
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0005.0001.0000.0000.0002.0002.0002.0004.0000.31250.38890.37500.31250.00000.12500.12500.2500
last_100.2010-34.0008.0001.0000.0001.0004.0005.0005.00010.0000.23530.33330.35290.23530.02940.11770.14710.2941
season0.60117-437.000102.00022.0002.00012.00058.00069.00051.000132.0000.23340.31650.37530.23340.02750.13270.11670.3021
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1730
predicted_3B0.0100
predicted_AB3.5750
predicted_AVG0.2495
predicted_BB0.4340
predicted_H0.8920
predicted_HBP0.0200
predicted_HR0.0820
predicted_OBP0.3327
predicted_R0.5290
predicted_RBI0.4580
predicted_SLG0.3728
predicted_SO1.0230
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18800.17300.1815model_form_blend
predicted_3B0.01700.01000.0140model_form_blend
predicted_AB4.38003.57504.0312model_form_blend
predicted_AVG0.24400.24950.2464model_form_blend
predicted_BB0.43600.43400.4351model_form_blend
predicted_H1.07000.89200.9929model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.12000.08200.1035model_form_blend
predicted_OBP0.33200.33270.3323model_form_blend
predicted_R0.59000.52900.5636model_form_blend
predicted_RBI0.55000.45800.5101model_form_blend
predicted_SLG0.37100.37280.3718model_form_blend
predicted_SO1.12801.02301.0825model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR1
R2
RBI2
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.5
Hitting_BB1
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261006_MIL@SD
game_typefull
mlbID592885
playerID592885
playerNameChristian Yelich
posDH
startedTrue
startingPositionDH
teamMIL
teamID16
game_date2026-10-06
sl_k_percent27.0
sl_bb_percent9.8
sl_woba0.305
sl_xwoba0.308
sl_xba0.23
sl_xslg0.385
sl_sweet_spot_percent29.5
sl_barrel_batted_rate9.6
sl_hard_hit_percent42.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg4.0
sl_whiff_percent29.6
sl_swing_percent45.4
William Contreras (661388) · BATTER · C · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 610
All-history rows before 20261007: 610
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2749
Diff (system - data): -0.0039
System opponent_avg: 0.1630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1760.0000.000Hitting_2B0.1850.000-0.1850.000
predicted_3B0.0070.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.9403.0003.000Hitting_AB3.9844.000-0.984-1.000
predicted_AVG0.2570.0000.000Hitting_AVG0.2750.750-0.275-0.750
predicted_BB0.4191.0001.000Hitting_BB0.4391.0000.5610.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H1.2700.0000.000Hitting_H1.0953.000-1.095-3.000
predicted_HR0.3100.0000.000Hitting_HR0.1311.000-0.131-1.000
predicted_OBP0.3530.4000.400Hitting_OBP0.3460.8000.054-0.400
predicted_R0.5681.0001.000Hitting_R0.6112.0000.389-1.000
predicted_RBI0.8400.0000.000Hitting_RBI0.6791.000-0.679-1.000
predicted_SLG0.4850.0000.000Hitting_SLG0.4241.500-0.424-1.500
predicted_SO0.6352.0002.000Hitting_SO0.6410.0001.3592.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_SO: 0.6350 -> 2.0000 (boost 1.3650, worse)
Biggest Deboostpredicted_AB: 4.9400 -> 3.0000 (deboost -1.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AVG: 0.2570 -> 0.2677 (boost 0.0107, better)predicted_AB: 4.9400 -> 4.4330 (deboost -0.5070, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_SLG: 0.4855 -> 0.4929 (boost 0.0074, better)predicted_OBP: 0.3550 -> 0.3369 (deboost -0.0181, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_RBI: 0.7941 -> 1.0000 (boost 0.2059, better)predicted_SO: 0.6099 -> 0.0000 (deboost -0.6099, better)AB rounded to 4 (raw=4.94), rates preserved: AVG=0.248 HR/AB=0.056
6consistency_constraints11010predicted_R: 0.5715 -> 1.0000 (boost 0.4285, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54132predicted_SO: 0.0000 -> 0.6212 (boost 0.6212, worse)predicted_RBI: 1.0000 -> 0.5529 (deboost -0.4471, 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_allocation82617predicted_RBI: 0.5529 -> 1.0000 (boost 0.4471, better)predicted_BB: 0.4204 -> 0.0000 (deboost -0.4204, 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_environment30303-predicted_SLG: 0.3900 -> 0.3800 (deboost -0.0100, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization63324predicted_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_final11010predicted_SLG: 0.3800 -> 0.3870 (boost 0.0070, 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": "661388",
  "player_name": "William Contreras",
  "position": "C",
  "team": "MIL",
  "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.007,
        "predicted_AB": 4.94,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.419,
        "predicted_H": 1.27,
        "predicted_HR": 0.31,
        "predicted_OBP": 0.353,
        "predicted_R": 0.568,
        "predicted_RBI": 0.84,
        "predicted_SLG": 0.485,
        "predicted_SO": 0.635
      },
      "changed_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.1454,
        "predicted_3B": 0.0057,
        "predicted_AB": 4.433,
        "predicted_AVG": 0.2677,
        "predicted_BB": 0.4387,
        "predicted_H": 1.1795,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.2707,
        "predicted_OBP": 0.355,
        "predicted_R": 0.5545,
        "predicted_RBI": 0.7705,
        "predicted_SLG": 0.4855,
        "predicted_SO": 0.6171
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.94,
          "after": 4.433,
          "delta": -0.507,
          "percent_delta": -0.1026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.2677,
          "delta": 0.0107,
          "percent_delta": 0.0416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.27,
          "after": 1.1795,
          "delta": -0.0905,
          "percent_delta": -0.0713,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.84,
          "after": 0.7705,
          "delta": -0.0695,
          "percent_delta": -0.0827,
          "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_AVG",
          "before": 0.257,
          "after": 0.2677,
          "delta": 0.0107,
          "percent_delta": 0.0416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.94,
          "after": 4.433,
          "delta": -0.507,
          "percent_delta": -0.1026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 148
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1454,
        "predicted_3B": 0.0057,
        "predicted_AB": 4.433,
        "predicted_AVG": 0.2706,
        "predicted_BB": 0.4438,
        "predicted_H": 1.1994,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.2762,
        "predicted_OBP": 0.3369,
        "predicted_R": 0.5715,
        "predicted_RBI": 0.7941,
        "predicted_SLG": 0.4929,
        "predicted_SO": 0.6099
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3369,
          "delta": -0.0181,
          "percent_delta": -0.051,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4855,
          "after": 0.4929,
          "delta": 0.0074,
          "percent_delta": 0.0152,
          "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.4855,
          "after": 0.4929,
          "delta": 0.0074,
          "percent_delta": 0.0152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3369,
          "delta": -0.0181,
          "percent_delta": -0.051,
          "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.94), rates preserved: AVG=0.248 HR/AB=0.056",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1454,
          "after": 0.0,
          "delta": -0.1454,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.433,
          "after": 4.0,
          "delta": -0.433,
          "percent_delta": -0.0977,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4438,
          "after": 0.0,
          "delta": -0.4438,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1994,
          "after": 1.0,
          "delta": -0.1994,
          "percent_delta": -0.1662,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2762,
          "after": 0.0,
          "delta": -0.2762,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7941,
          "after": 1.0,
          "delta": 0.2059,
          "percent_delta": 0.2593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6099,
          "after": 0.0,
          "delta": -0.6099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.7941,
          "after": 1.0,
          "delta": 0.2059,
          "percent_delta": 0.2593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6099,
          "after": 0.0,
          "delta": -0.6099,
          "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": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5715,
          "after": 1.0,
          "delta": 0.4285,
          "percent_delta": 0.7498,
          "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.5715,
          "after": 1.0,
          "delta": 0.4285,
          "percent_delta": 0.7498,
          "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.1442,
        "predicted_3B": 0.0085,
        "predicted_BB": 0.4204,
        "predicted_H": 0.9516,
        "predicted_HR": 0.125,
        "predicted_RBI": 0.5529,
        "predicted_SO": 0.6212
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1442,
          "delta": 0.1442,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4204,
          "delta": 0.4204,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.125,
          "delta": 0.125,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5529,
          "delta": -0.4471,
          "percent_delta": -0.4471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6212,
          "delta": 0.6212,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6212,
          "delta": 0.6212,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5529,
          "delta": -0.4471,
          "percent_delta": -0.4471,
          "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.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.39,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1442,
          "after": 0.0,
          "delta": -0.1442,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2706,
          "after": 0.249,
          "delta": -0.0216,
          "percent_delta": -0.0798,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4204,
          "after": 0.0,
          "delta": -0.4204,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.125,
          "after": 0.0,
          "delta": -0.125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3369,
          "after": 0.329,
          "delta": -0.0079,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5529,
          "after": 1.0,
          "delta": 0.4471,
          "percent_delta": 0.8086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4929,
          "after": 0.39,
          "delta": -0.1029,
          "percent_delta": -0.2088,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6212,
          "after": 1.0,
          "delta": 0.3788,
          "percent_delta": 0.6098,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5529,
          "after": 1.0,
          "delta": 0.4471,
          "percent_delta": 0.8086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4204,
          "after": 0.0,
          "delta": -0.4204,
          "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.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.39,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.243,
          "delta": -0.006,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.322,
          "delta": -0.007,
          "percent_delta": -0.0213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.38,
          "delta": -0.01,
          "percent_delta": -0.0256,
          "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.39,
          "after": 0.38,
          "delta": -0.01,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_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": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.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.246,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.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": [
        {
          "metric": "predicted_SLG",
          "before": 0.38,
          "after": 0.387,
          "delta": 0.007,
          "percent_delta": 0.0184,
          "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_SLG",
          "before": 0.38,
          "after": 0.387,
          "delta": 0.007,
          "percent_delta": 0.0184,
          "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.176,
        "after": 0.0,
        "delta": -0.176,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.94,
        "after": 3.0,
        "delta": -1.94,
        "percent_delta": -0.3927,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.257,
        "after": 0.246,
        "delta": -0.011,
        "percent_delta": -0.0428,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.419,
        "after": 1.0,
        "delta": 0.581,
        "percent_delta": 1.3866,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.27,
        "after": 0.0,
        "delta": -1.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.017,
        "after": 1.0,
        "delta": 0.983,
        "percent_delta": 57.8235,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.353,
        "after": 0.324,
        "delta": -0.029,
        "percent_delta": -0.0822,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.568,
        "after": 1.0,
        "delta": 0.432,
        "percent_delta": 0.7606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.485,
        "after": 0.387,
        "delta": -0.098,
        "percent_delta": -0.2021,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.635,
        "after": 2.0,
        "delta": 1.365,
        "percent_delta": 2.1496,
        "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_SO",
        "before": 0.635,
        "after": 2.0,
        "delta": 1.365,
        "percent_delta": 2.1496,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.94,
        "after": 3.0,
        "delta": -1.94,
        "percent_delta": -0.3927,
        "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.007-
predicted_AB4.940-
predicted_AVG0.257-
predicted_BB0.419-
predicted_H1.270-
predicted_HR0.310-
predicted_OBP0.353-
predicted_R0.568-
predicted_RBI0.840-
predicted_SLG0.485-
predicted_SO0.635-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.145-0.031
predicted_3B0.006-0.001
predicted_AB4.433-0.507
predicted_AVG0.2680.011
predicted_BB0.4390.020
predicted_H1.179-0.091
predicted_HBP0.017-
predicted_HR0.271-0.039
predicted_OBP0.3550.002
predicted_R0.554-0.013
predicted_RBI0.770-0.070
predicted_SLG0.4850.001
predicted_SO0.617-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.1450.000
predicted_3B0.0060.000
predicted_AB4.4330.000
predicted_AVG0.2710.003
predicted_BB0.4440.005
predicted_H1.1990.020
predicted_HBP0.0170.000
predicted_HR0.2760.006
predicted_OBP0.337-0.018
predicted_R0.5720.017
predicted_RBI0.7940.024
predicted_SLG0.4930.007
predicted_SO0.610-0.007
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.94), rates preserved: AVG=0.248 HR/AB=0.056

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO0.000-
6. 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-
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.1440.144
3B0.0090.009
BB0.4200.420
H0.952-0.048
HR0.1250.125
RBI0.553-0.447
SO0.6210.621
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.009
AB4.0000.000
AVG0.249-
BB0.000-0.420
H1.0000.048
HR0.000-0.125
OBP0.329-
R1.0000.000
RBI1.0000.447
SLG0.390-
SO1.0000.379
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.145
predicted_3B0.000-0.006
predicted_AB4.000-0.433
predicted_AVG0.249-0.022
predicted_BB0.000-0.444
predicted_H1.000-0.199
predicted_HR0.000-0.276
predicted_OBP0.329-0.008
predicted_R1.0000.428
predicted_RBI1.0000.206
predicted_SLG0.390-0.103
predicted_SO1.0000.390
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.243-0.006
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.322-0.007
R1.0000.000
RBI1.0000.000
SLG0.380-0.010
SO1.0000.000
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
BB1.0001.000
H0.000-1.000
HBP1.0001.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.000-1.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
HBP1.0000.000
HR0.0000.000
PA5.0000.000
R1.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: 148
Reference playing time: 4.940
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0006.0000.0000.0002.0003.0003.0003.0002.0000.31580.40910.63160.31580.10530.15790.15790.1053
last_100.2010-35.00010.0000.0000.0003.0009.0004.0005.0006.0000.28570.36590.54290.28570.08570.25710.14290.1714
season0.60148-572.000155.00026.0001.00020.00095.00084.00062.00094.0000.27100.34160.42480.27100.03500.16610.10840.1643
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1060
predicted_3B0.0040
predicted_AB3.7800
predicted_AVG0.2814
predicted_BB0.4640
predicted_H1.0630
predicted_HBP0.0170
predicted_HR0.2200
predicted_OBP0.3575
predicted_R0.5370
predicted_RBI0.6810
predicted_SLG0.4861
predicted_SO0.5940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.10600.1454model_form_blend
predicted_3B0.00700.00400.0057model_form_blend
predicted_AB4.94003.78004.4330model_form_blend
predicted_AVG0.25700.28140.2677model_form_blend
predicted_BB0.41900.46400.4387model_form_blend
predicted_H1.27001.06301.1795model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.31000.22000.2707model_form_blend
predicted_OBP0.35300.35750.3550model_form_blend
predicted_R0.56800.53700.5545model_form_blend
predicted_RBI0.84000.68100.7705model_form_blend
predicted_SLG0.48500.48610.4855model_form_blend
predicted_SO0.63500.59400.6171model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB6
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261006_MIL@SD
game_typefull
mlbID661388
playerID661388
playerNameWilliam Contreras
posC
startedTrue
startingPositionC
teamMIL
teamID16
game_date2026-10-06
sl_k_percent14.7
sl_bb_percent9.5
sl_woba0.33
sl_xwoba0.334
sl_xba0.261
sl_xslg0.441
sl_sweet_spot_percent33.3
sl_barrel_batted_rate8.5
sl_hard_hit_percent44.1
sl_exit_velocity_avg90.3
sl_launch_angle_avg13.2
sl_whiff_percent20.7
sl_swing_percent47.2
Brice Turang (668930) · BATTER · 2B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 654
All-history rows before 20261007: 654
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2768
Diff (system - data): -0.0058
System opponent_avg: 0.2630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2471.0001.000Hitting_2B0.2600.0000.7401.000
predicted_3B0.0200.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.5204.0004.000Hitting_AB3.9604.0000.0400.000
predicted_AVG0.2330.7500.750Hitting_AVG0.2770.2500.4730.500
predicted_BB0.5871.0001.000Hitting_BB0.5891.0000.4110.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H1.0503.0003.000Hitting_H1.0961.0001.9042.000
predicted_HR0.1600.0000.000Hitting_HR0.1420.000-0.1420.000
predicted_OBP0.3240.8000.800Hitting_OBP0.3700.4000.4300.400
predicted_R0.6801.0001.000Hitting_R0.7130.0000.2871.000
predicted_RBI0.7102.0002.000Hitting_RBI0.7340.0001.2662.000
predicted_SB-0.0000.000BaseRunning_SB0.1300.000-0.1300.000
predicted_SLG0.3971.0001.000Hitting_SLG0.4640.2500.5360.750
predicted_SO1.1201.0001.000Hitting_SO1.0811.000-0.0810.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_H: 1.0500 -> 3.0000 (boost 1.9500, better)
Biggest Deboostpredicted_AB: 4.5200 -> 4.0000 (deboost -0.5200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_SLG: 0.3970 -> 0.4126 (boost 0.0156, better)predicted_AB: 4.5200 -> 4.2251 (deboost -0.2949, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_SLG: 0.4126 -> 0.4204 (boost 0.0078, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61524predicted_RBI: 0.7074 -> 1.0000 (boost 0.2926, better)predicted_BB: 0.5655 -> 0.0000 (deboost -0.5655, worse)AB rounded to 4 (raw=4.52), rates preserved: AVG=0.231 HR/AB=0.036
6consistency_constraints11010predicted_R: 0.6386 -> 1.0000 (boost 0.3614, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.5708 (boost 0.5708, better)predicted_RBI: 1.0000 -> 0.5341 (deboost -0.4659, 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_allocation86262predicted_2B: 0.1683 -> 1.0000 (boost 0.8317, better)predicted_HR: 0.1239 -> 0.0000 (deboost -0.1239, 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_environment30303-predicted_SLG: 0.4000 -> 0.3900 (deboost -0.0100, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_H: 1.0000 -> 3.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_final10101-predicted_OBP: 0.3450 -> 0.3390 (deboost -0.0060, 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": "668930",
  "player_name": "Brice Turang",
  "position": "2B",
  "team": "MIL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.247,
        "predicted_3B": 0.02,
        "predicted_AB": 4.52,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.587,
        "predicted_H": 1.05,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.324,
        "predicted_R": 0.68,
        "predicted_RBI": 0.71,
        "predicted_SLG": 0.397,
        "predicted_SO": 1.12
      },
      "changed_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.2277,
        "predicted_3B": 0.0165,
        "predicted_AB": 4.2251,
        "predicted_AVG": 0.2388,
        "predicted_BB": 0.559,
        "predicted_H": 1.0049,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1613,
        "predicted_OBP": 0.3294,
        "predicted_R": 0.6196,
        "predicted_RBI": 0.6864,
        "predicted_SLG": 0.4126,
        "predicted_SO": 1.1191
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.52,
          "after": 4.2251,
          "delta": -0.2949,
          "percent_delta": -0.0652,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2388,
          "delta": 0.0058,
          "percent_delta": 0.0249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.3294,
          "delta": 0.0054,
          "percent_delta": 0.0167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.68,
          "after": 0.6196,
          "delta": -0.0604,
          "percent_delta": -0.0888,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.397,
          "after": 0.4126,
          "delta": 0.0156,
          "percent_delta": 0.0393,
          "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_SLG",
          "before": 0.397,
          "after": 0.4126,
          "delta": 0.0156,
          "percent_delta": 0.0393,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.52,
          "after": 4.2251,
          "delta": -0.2949,
          "percent_delta": -0.0652,
          "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.2277,
        "predicted_3B": 0.0165,
        "predicted_AB": 4.2251,
        "predicted_AVG": 0.2419,
        "predicted_BB": 0.5655,
        "predicted_H": 1.0219,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1646,
        "predicted_OBP": 0.3314,
        "predicted_R": 0.6386,
        "predicted_RBI": 0.7074,
        "predicted_SLG": 0.4204,
        "predicted_SO": 1.1061
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.4126,
          "after": 0.4204,
          "delta": 0.0078,
          "percent_delta": 0.0189,
          "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_SLG",
          "before": 0.4126,
          "after": 0.4204,
          "delta": 0.0078,
          "percent_delta": 0.0189,
          "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.52), rates preserved: AVG=0.231 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2277,
          "after": 0.0,
          "delta": -0.2277,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.2251,
          "after": 4.0,
          "delta": -0.2251,
          "percent_delta": -0.0533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5655,
          "after": 0.0,
          "delta": -0.5655,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1646,
          "after": 0.0,
          "delta": -0.1646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7074,
          "after": 1.0,
          "delta": 0.2926,
          "percent_delta": 0.4136,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1061,
          "after": 1.0,
          "delta": -0.1061,
          "percent_delta": -0.0959,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.7074,
          "after": 1.0,
          "delta": 0.2926,
          "percent_delta": 0.4136,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5655,
          "after": 0.0,
          "delta": -0.5655,
          "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.6386,
          "after": 1.0,
          "delta": 0.3614,
          "percent_delta": 0.5659,
          "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.6386,
          "after": 1.0,
          "delta": 0.3614,
          "percent_delta": 0.5659,
          "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.1683,
        "predicted_3B": 0.0121,
        "predicted_BB": 0.5708,
        "predicted_H": 0.9088,
        "predicted_HR": 0.1239,
        "predicted_RBI": 0.5341,
        "predicted_SO": 0.955
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1683,
          "delta": 0.1683,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5708,
          "delta": 0.5708,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9088,
          "delta": -0.0912,
          "percent_delta": -0.0912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1239,
          "delta": 0.1239,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5341,
          "delta": -0.4659,
          "percent_delta": -0.4659,
          "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.5708,
          "delta": 0.5708,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5341,
          "delta": -0.4659,
          "percent_delta": -0.4659,
          "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.247,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.352,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1683,
          "after": 1.0,
          "delta": 0.8317,
          "percent_delta": 4.9418,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2419,
          "after": 0.247,
          "delta": 0.0051,
          "percent_delta": 0.0211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5708,
          "after": 1.0,
          "delta": 0.4292,
          "percent_delta": 0.7519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9088,
          "after": 1.0,
          "delta": 0.0912,
          "percent_delta": 0.1004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1239,
          "after": 0.0,
          "delta": -0.1239,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3314,
          "after": 0.352,
          "delta": 0.0206,
          "percent_delta": 0.0622,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5341,
          "after": 1.0,
          "delta": 0.4659,
          "percent_delta": 0.8723,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4204,
          "after": 0.4,
          "delta": -0.0204,
          "percent_delta": -0.0485,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1683,
          "after": 1.0,
          "delta": 0.8317,
          "percent_delta": 4.9418,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1239,
          "after": 0.0,
          "delta": -0.1239,
          "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.247,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.352,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.4,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.24,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.345,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.39,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.24,
          "delta": -0.007,
          "percent_delta": -0.0283,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.345,
          "delta": -0.007,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.39,
          "delta": -0.01,
          "percent_delta": -0.025,
          "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.4,
          "after": 0.39,
          "delta": -0.01,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.244,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.39,
        "predicted_SO": 1.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.339,
          "delta": -0.006,
          "percent_delta": -0.0174,
          "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.345,
          "after": 0.339,
          "delta": -0.006,
          "percent_delta": -0.0174,
          "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.247,
        "after": 1.0,
        "delta": 0.753,
        "percent_delta": 3.0486,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.52,
        "after": 4.0,
        "delta": -0.52,
        "percent_delta": -0.115,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.244,
        "delta": 0.011,
        "percent_delta": 0.0472,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.587,
        "after": 1.0,
        "delta": 0.413,
        "percent_delta": 0.7036,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 3.0,
        "delta": 1.95,
        "percent_delta": 1.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.324,
        "after": 0.339,
        "delta": 0.015,
        "percent_delta": 0.0463,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.71,
        "after": 2.0,
        "delta": 1.29,
        "percent_delta": 1.8169,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.397,
        "after": 0.39,
        "delta": -0.007,
        "percent_delta": -0.0176,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.12,
        "after": 1.0,
        "delta": -0.12,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 3.0,
        "delta": 1.95,
        "percent_delta": 1.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.52,
        "after": 4.0,
        "delta": -0.52,
        "percent_delta": -0.115,
        "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.247-
predicted_3B0.020-
predicted_AB4.520-
predicted_AVG0.233-
predicted_BB0.587-
predicted_H1.050-
predicted_HR0.160-
predicted_OBP0.324-
predicted_R0.680-
predicted_RBI0.710-
predicted_SLG0.397-
predicted_SO1.120-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.228-0.019
predicted_3B0.017-0.003
predicted_AB4.225-0.295
predicted_AVG0.2390.006
predicted_BB0.559-0.028
predicted_H1.005-0.045
predicted_HBP0.005-
predicted_HR0.1610.001
predicted_OBP0.3290.005
predicted_R0.620-0.060
predicted_RBI0.686-0.024
predicted_SLG0.4130.016
predicted_SO1.119-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.2280.000
predicted_3B0.0170.000
predicted_AB4.2250.000
predicted_AVG0.2420.003
predicted_BB0.5660.006
predicted_H1.0220.017
predicted_HBP0.0050.000
predicted_HR0.1650.003
predicted_OBP0.3310.002
predicted_R0.6390.019
predicted_RBI0.7070.021
predicted_SLG0.4200.008
predicted_SO1.106-0.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1680.168
3B0.0120.012
BB0.5710.571
H0.909-0.091
HR0.1240.124
RBI0.534-0.466
SO0.955-0.045
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.832
3B0.000-0.012
AB4.0000.000
AVG0.247-
BB1.0000.429
H1.0000.091
HR0.000-0.124
OBP0.352-
R1.0000.000
RBI1.0000.466
SLG0.400-
SO1.0000.045
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.772
predicted_3B0.000-0.017
predicted_AB4.000-0.225
predicted_AVG0.2470.005
predicted_BB1.0000.434
predicted_H1.000-0.022
predicted_HR0.000-0.165
predicted_OBP0.3520.021
predicted_R1.0000.361
predicted_RBI1.0000.293
predicted_SLG0.400-0.020
predicted_SO1.000-0.106
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.240-0.007
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.345-0.007
R1.0000.000
RBI1.0000.000
SLG0.390-0.010
SO1.0000.000
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
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.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
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H3.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R1.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: 150
Reference playing time: 4.520
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0003.0000.0000.0001.0003.0001.0003.0005.0000.16670.28570.33330.16670.05560.16670.16670.2778
last_100.2010-40.00010.0003.0000.0002.0007.0005.0003.00013.0000.25000.30230.47500.25000.05000.17500.07500.3250
season0.60150-582.000158.00037.0003.00021.000101.000102.00088.000168.0000.27150.36700.45360.27150.03610.17350.15120.2887
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2030
predicted_3B0.0120
predicted_AB3.8460
predicted_AVG0.2463
predicted_BB0.5230
predicted_H0.9470
predicted_HBP0.0050
predicted_HR0.1630
predicted_OBP0.3364
predicted_R0.5420
predicted_RBI0.6560
predicted_SLG0.4327
predicted_SO1.1180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24700.20300.2277model_form_blend
predicted_3B0.02000.01200.0165model_form_blend
predicted_AB4.52003.84604.2251model_form_blend
predicted_AVG0.23300.24630.2388model_form_blend
predicted_BB0.58700.52300.5590model_form_blend
predicted_H1.05000.94701.0049model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.16000.16300.1613model_form_blend
predicted_OBP0.32400.33640.3294model_form_blend
predicted_R0.68000.54200.6196model_form_blend
predicted_RBI0.71000.65600.6864model_form_blend
predicted_SLG0.39700.43270.4126model_form_blend
predicted_SO1.12001.11801.1191model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date654
Season rows before report date654
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
PA5
AB4
H3
2B1
3B0
HR0
R1
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_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_SO1
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261006_MIL@SD
game_typefull
mlbID668930
playerID668930
playerNameBrice Turang
pos2B
startedTrue
startingPosition2B
teamMIL
teamID16
game_date2026-10-06
sl_k_percent25.1
sl_bb_percent13.2
sl_woba0.358
sl_xwoba0.344
sl_xba0.255
sl_xslg0.428
sl_sweet_spot_percent38.5
sl_barrel_batted_rate7.7
sl_hard_hit_percent41.6
sl_exit_velocity_avg90.3
sl_launch_angle_avg8.8
sl_whiff_percent23.1
sl_swing_percent43.2
Jake Bauers (641343) · BATTER · 1B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 550
All-history rows before 20261007: 550
System season_avg: 0.2630
Data season_avg (2026 season-to-date): 0.2688
Diff (system - data): -0.0058
System opponent_avg: 0.2320

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1421.0001.000Hitting_2B0.1420.0000.8581.000
predicted_3B0.0140.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.5304.0004.000Hitting_AB3.5114.0000.4890.000
predicted_AVG0.2270.2500.250Hitting_AVG0.2690.000-0.0190.250
predicted_BB0.6381.0001.000Hitting_BB0.7361.0000.2640.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.8001.0001.000Hitting_H0.9440.0000.0561.000
predicted_HR0.1400.0000.000Hitting_HR0.2020.000-0.2020.000
predicted_OBP0.3360.4000.400Hitting_OBP0.3980.2000.0020.200
predicted_R0.6451.0001.000Hitting_R0.7020.0000.2981.000
predicted_RBI0.4400.0000.000Hitting_RBI0.6650.000-0.6650.000
predicted_SLG0.3820.5000.500Hitting_SLG0.4910.0000.0090.500
predicted_SO1.1351.0001.000Hitting_SO1.1274.000-0.127-3.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_2B: 0.1420 -> 1.0000 (boost 0.8580, better)
Biggest Deboostpredicted_RBI: 0.4400 -> 0.0000 (deboost -0.4400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11001predicted_SO: 1.1350 -> 1.2439 (boost 0.1089, worse)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_SLG: 0.3773 -> 0.3902 (boost 0.0129, 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_scaling83544predicted_AB: 3.5226 -> 4.0000 (boost 0.4774, better)predicted_RBI: 0.4481 -> 0.0000 (deboost -0.4481, worse)AB rounded to 4 (raw=3.53), rates preserved: AVG=0.238 HR/AB=0.037
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.6135 -> 1.0000 (boost 0.3865, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.5123 (boost 0.5123, better)predicted_BB: 1.0000 -> 0.6453 (deboost -0.3547, 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_allocation75252predicted_RBI: 0.5123 -> 1.0000 (boost 0.4877, better)predicted_HR: 0.1741 -> 0.0000 (deboost -0.1741, 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_environment30303-predicted_SLG: 0.4240 -> 0.4130 (deboost -0.0110, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization21111predicted_2B: 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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final20202-predicted_OBP: 0.3500 -> 0.3320 (deboost -0.0180, 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": "641343",
  "player_name": "Jake Bauers",
  "position": "1B",
  "team": "MIL",
  "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.014,
        "predicted_AB": 3.53,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.638,
        "predicted_H": 0.8,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.336,
        "predicted_R": 0.645,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.382,
        "predicted_SO": 1.135
      },
      "changed_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.1359,
        "predicted_3B": 0.0118,
        "predicted_AB": 3.5226,
        "predicted_AVG": 0.2305,
        "predicted_BB": 0.5931,
        "predicted_H": 0.8113,
        "predicted_HBP": 0.078,
        "predicted_HR": 0.1274,
        "predicted_OBP": 0.3401,
        "predicted_R": 0.5953,
        "predicted_RBI": 0.4348,
        "predicted_SLG": 0.3773,
        "predicted_SO": 1.2439
      },
      "changed_metrics": [
        {
          "metric": "predicted_SO",
          "before": 1.135,
          "after": 1.2439,
          "delta": 0.1089,
          "percent_delta": 0.0959,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.135,
          "after": 1.2439,
          "delta": 0.1089,
          "percent_delta": 0.0959,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 141
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1359,
        "predicted_3B": 0.0118,
        "predicted_AB": 3.5226,
        "predicted_AVG": 0.2342,
        "predicted_BB": 0.6,
        "predicted_H": 0.825,
        "predicted_HBP": 0.078,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.3457,
        "predicted_R": 0.6135,
        "predicted_RBI": 0.4481,
        "predicted_SLG": 0.3902,
        "predicted_SO": 1.2295
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3401,
          "after": 0.3457,
          "delta": 0.0056,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3773,
          "after": 0.3902,
          "delta": 0.0129,
          "percent_delta": 0.0342,
          "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.3773,
          "after": 0.3902,
          "delta": 0.0129,
          "percent_delta": 0.0342,
          "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=3.53), rates preserved: AVG=0.238 HR/AB=0.037",
      "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.1359,
          "after": 0.0,
          "delta": -0.1359,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5226,
          "after": 4.0,
          "delta": 0.4774,
          "percent_delta": 0.1355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6,
          "after": 1.0,
          "delta": 0.4,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.825,
          "after": 1.0,
          "delta": 0.175,
          "percent_delta": 0.2121,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.078,
          "after": 0.0,
          "delta": -0.078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.0,
          "delta": -0.13,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4481,
          "after": 0.0,
          "delta": -0.4481,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2295,
          "after": 1.0,
          "delta": -0.2295,
          "percent_delta": -0.1867,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.5226,
          "after": 4.0,
          "delta": 0.4774,
          "percent_delta": 0.1355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4481,
          "after": 0.0,
          "delta": -0.4481,
          "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": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      }
    },
    {
      "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.6135,
          "after": 1.0,
          "delta": 0.3865,
          "percent_delta": 0.63,
          "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.6135,
          "after": 1.0,
          "delta": 0.3865,
          "percent_delta": 0.63,
          "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.1318,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.6453,
        "predicted_H": 0.8488,
        "predicted_HR": 0.1741,
        "predicted_RBI": 0.5123,
        "predicted_SO": 1.0157
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1318,
          "delta": 0.1318,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6453,
          "delta": -0.3547,
          "percent_delta": -0.3547,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8488,
          "delta": -0.1512,
          "percent_delta": -0.1512,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1741,
          "delta": 0.1741,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5123,
          "delta": 0.5123,
          "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.5123,
          "delta": 0.5123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6453,
          "delta": -0.3547,
          "percent_delta": -0.3547,
          "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.236,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.357,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.424,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1318,
          "after": 0.0,
          "delta": -0.1318,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6453,
          "after": 1.0,
          "delta": 0.3547,
          "percent_delta": 0.5497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8488,
          "after": 1.0,
          "delta": 0.1512,
          "percent_delta": 0.1781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1741,
          "after": 0.0,
          "delta": -0.1741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3457,
          "after": 0.357,
          "delta": 0.0113,
          "percent_delta": 0.0327,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5123,
          "after": 1.0,
          "delta": 0.4877,
          "percent_delta": 0.952,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3902,
          "after": 0.424,
          "delta": 0.0338,
          "percent_delta": 0.0866,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5123,
          "after": 1.0,
          "delta": 0.4877,
          "percent_delta": 0.952,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1741,
          "after": 0.0,
          "delta": -0.1741,
          "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.236,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.357,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.424,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.23,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.35,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.413,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.23,
          "delta": -0.006,
          "percent_delta": -0.0254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.357,
          "after": 0.35,
          "delta": -0.007,
          "percent_delta": -0.0196,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.413,
          "delta": -0.011,
          "percent_delta": -0.0259,
          "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.424,
          "after": 0.413,
          "delta": -0.011,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.223,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.223,
          "delta": -0.007,
          "percent_delta": -0.0304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.332,
          "delta": -0.018,
          "percent_delta": -0.0514,
          "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.35,
          "after": 0.332,
          "delta": -0.018,
          "percent_delta": -0.0514,
          "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.142,
        "after": 1.0,
        "delta": 0.858,
        "percent_delta": 6.0423,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.53,
        "after": 4.0,
        "delta": 0.47,
        "percent_delta": 0.1331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.638,
        "after": 1.0,
        "delta": 0.362,
        "percent_delta": 0.5674,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.8,
        "after": 1.0,
        "delta": 0.2,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.078,
        "after": 0.0,
        "delta": -0.078,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.645,
        "after": 1.0,
        "delta": 0.355,
        "percent_delta": 0.5504,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.382,
        "after": 0.409,
        "delta": 0.027,
        "percent_delta": 0.0707,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.135,
        "after": 1.0,
        "delta": -0.135,
        "percent_delta": -0.1189,
        "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_2B",
        "before": 0.142,
        "after": 1.0,
        "delta": 0.858,
        "percent_delta": 6.0423,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.142-
predicted_3B0.014-
predicted_AB3.530-
predicted_AVG0.227-
predicted_BB0.638-
predicted_H0.800-
predicted_HR0.140-
predicted_OBP0.336-
predicted_R0.645-
predicted_RBI0.440-
predicted_SLG0.382-
predicted_SO1.135-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.136-0.006
predicted_3B0.012-0.002
predicted_AB3.523-0.007
predicted_AVG0.2310.004
predicted_BB0.593-0.045
predicted_H0.8110.011
predicted_HBP0.078-
predicted_HR0.127-0.013
predicted_OBP0.3400.004
predicted_R0.595-0.050
predicted_RBI0.435-0.005
predicted_SLG0.377-0.005
predicted_SO1.2440.109
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1360.000
predicted_3B0.0120.000
predicted_AB3.5230.000
predicted_AVG0.2340.004
predicted_BB0.6000.007
predicted_H0.8250.014
predicted_HBP0.0780.000
predicted_HR0.1300.003
predicted_OBP0.3460.006
predicted_R0.6140.018
predicted_RBI0.4480.013
predicted_SLG0.3900.013
predicted_SO1.230-0.014
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
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.1320.132
3B0.0100.010
BB0.645-0.355
H0.849-0.151
HR0.1740.174
RBI0.5120.512
SO1.0160.016
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.132
3B0.000-0.010
AB4.0000.000
AVG0.236-
BB1.0000.355
H1.0000.151
HR0.000-0.174
OBP0.357-
R1.0000.000
RBI1.0000.488
SLG0.424-
SO1.000-0.016
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.136
predicted_3B0.000-0.012
predicted_AB4.0000.477
predicted_AVG0.2360.002
predicted_BB1.0000.400
predicted_H1.0000.175
predicted_HR0.000-0.130
predicted_OBP0.3570.011
predicted_R1.0000.386
predicted_RBI1.0000.552
predicted_SLG0.4240.034
predicted_SO1.000-0.230
11. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.230-0.006
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.350-0.007
R1.0000.000
RBI1.0000.000
SLG0.413-0.011
SO1.0000.000
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.0001.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.000-1.000
SF0.0000.000
SO1.0000.000
14. 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
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: 141
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.0000.0000.0000.0000.0001.0002.0009.0000.16670.28570.16670.16670.00000.00000.11110.5000
last_100.2010-37.0008.0002.0000.0000.0003.0005.0004.00019.0000.21620.30230.27030.21620.00000.08110.10810.5135
season0.60141-479.000126.00020.0002.00025.00084.00091.00090.000160.0000.26300.38300.46970.26310.05220.17540.18790.3340
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1280
predicted_3B0.0090
predicted_AB3.5130
predicted_AVG0.2351
predicted_BB0.5350
predicted_H0.8260
predicted_HBP0.0780
predicted_HR0.1110
predicted_OBP0.3453
predicted_R0.5310
predicted_RBI0.4280
predicted_SLG0.3711
predicted_SO1.3850
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14200.12800.1359model_form_blend
predicted_3B0.01400.00900.0118model_form_blend
predicted_AB3.53003.51303.5226model_form_blend
predicted_AVG0.22700.23510.2305model_form_blend
predicted_BB0.63800.53500.5931model_form_blend
predicted_H0.80000.82600.8113model_form_blend
predicted_HBP-0.07800.0780form_only
predicted_HR0.14000.11100.1274model_form_blend
predicted_OBP0.33600.34530.3401model_form_blend
predicted_R0.64500.53100.5953model_form_blend
predicted_RBI0.44000.42800.4348model_form_blend
predicted_SLG0.38200.37110.3773model_form_blend
predicted_SO1.13501.38501.2439model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H1
2B1
3B0
HR0
R1
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.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO4
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261006_MIL@SD
game_typefull
mlbID641343
playerID641343
playerNameJake Bauers
pos1B
startedTrue
startingPosition1B
teamMIL
teamID16
game_date2026-10-06
sl_k_percent27.0
sl_bb_percent16.3
sl_woba0.381
sl_xwoba0.371
sl_xba0.253
sl_xslg0.467
sl_sweet_spot_percent38.6
sl_barrel_batted_rate14.0
sl_hard_hit_percent51.9
sl_exit_velocity_avg92.1
sl_launch_angle_avg12.1
sl_whiff_percent29.8
sl_swing_percent40.6
Cooper Pratt (806198) · BATTER · SS · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 251
All-history rows before 20261007: 251
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2873
Diff (system - data): -0.0083
System opponent_avg: 0.2730

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0821.0001.000Hitting_2B0.1040.0000.8961.000
predicted_3B0.0270.0000.000Hitting_3B0.0560.000-0.0560.000
predicted_AB3.2405.0005.000Hitting_AB3.3154.0001.6851.000
predicted_AVG0.2800.2000.200Hitting_AVG0.2870.500-0.087-0.300
predicted_BB0.3290.0000.000Hitting_BB0.3750.000-0.3750.000
predicted_CS-0.0000.000BaseRunning_CS0.0240.000-0.0240.000
predicted_H0.9101.0001.000Hitting_H0.9522.0000.048-1.000
predicted_HR0.0300.0000.000Hitting_HR0.0480.000-0.0480.000
predicted_OBP0.3310.2000.200Hitting_OBP0.3560.500-0.156-0.300
predicted_R0.4250.0000.000Hitting_R0.5381.000-0.538-1.000
predicted_RBI0.3302.0002.000Hitting_RBI0.5540.0001.4462.000
predicted_SLG0.3480.4000.400Hitting_SLG0.3950.5000.005-0.100
predicted_SO0.6582.0002.000Hitting_SO0.6450.0001.3552.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_AB: 3.2400 -> 5.0000 (boost 1.7600, better)
Biggest Deboostpredicted_R: 0.4250 -> 0.0000 (deboost -0.4250, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend00000--Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot33030predicted_OBP: 0.3322 -> 0.3472 (boost 0.0150, 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_SO: 0.6794 -> 1.0000 (boost 0.3206, worse)predicted_RBI: 0.3501 -> 0.0000 (deboost -0.3501, worse)AB rounded to 3 (raw=3.28), rates preserved: AVG=0.289 HR/AB=0.010
6consistency_constraints10101-predicted_R: 0.3990 -> 0.0000 (deboost -0.3990, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4333 (boost 0.4333, better)predicted_SO: 1.0000 -> 0.7004 (deboost -0.2996, 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_allocation82617predicted_SO: 0.7004 -> 1.0000 (boost 0.2996, worse)predicted_RBI: 0.4333 -> 0.0000 (deboost -0.4333, 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_environment30303-predicted_SLG: 0.3540 -> 0.3450 (deboost -0.0090, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization44031predicted_AB: 3.0000 -> 5.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_final10101-predicted_OBP: 0.3150 -> 0.3070 (deboost -0.0080, 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": "806198",
  "player_name": "Cooper Pratt",
  "position": "SS",
  "team": "MIL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.082,
        "predicted_3B": 0.027,
        "predicted_AB": 3.24,
        "predicted_AVG": 0.28,
        "predicted_BB": 0.329,
        "predicted_H": 0.91,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.331,
        "predicted_R": 0.425,
        "predicted_RBI": 0.33,
        "predicted_SLG": 0.348,
        "predicted_SO": 0.658
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0955,
        "predicted_3B": 0.0228,
        "predicted_AB": 3.277,
        "predicted_AVG": 0.2783,
        "predicted_BB": 0.316,
        "predicted_H": 0.9138,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0321,
        "predicted_OBP": 0.3322,
        "predicted_R": 0.3872,
        "predicted_RBI": 0.3397,
        "predicted_SLG": 0.3496,
        "predicted_SO": 0.6874
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 73
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0955,
        "predicted_3B": 0.0228,
        "predicted_AB": 3.277,
        "predicted_AVG": 0.2836,
        "predicted_BB": 0.3197,
        "predicted_H": 0.9292,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0328,
        "predicted_OBP": 0.3472,
        "predicted_R": 0.399,
        "predicted_RBI": 0.3501,
        "predicted_SLG": 0.3566,
        "predicted_SO": 0.6794
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2783,
          "after": 0.2836,
          "delta": 0.0053,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3322,
          "after": 0.3472,
          "delta": 0.015,
          "percent_delta": 0.0452,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3496,
          "after": 0.3566,
          "delta": 0.007,
          "percent_delta": 0.02,
          "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.3322,
          "after": 0.3472,
          "delta": 0.015,
          "percent_delta": 0.0452,
          "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 3 (raw=3.28), rates preserved: AVG=0.289 HR/AB=0.010",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0955,
          "after": 0.0,
          "delta": -0.0955,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.277,
          "after": 3.0,
          "delta": -0.277,
          "percent_delta": -0.0845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3197,
          "after": 0.0,
          "delta": -0.3197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9292,
          "after": 1.0,
          "delta": 0.0708,
          "percent_delta": 0.0762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3501,
          "after": 0.0,
          "delta": -0.3501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3501,
          "after": 0.0,
          "delta": -0.3501,
          "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_R",
          "before": 0.399,
          "after": 0.0,
          "delta": -0.399,
          "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.399,
          "after": 0.0,
          "delta": -0.399,
          "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.1198,
        "predicted_3B": 0.0125,
        "predicted_BB": 0.361,
        "predicted_H": 0.8538,
        "predicted_HR": 0.0765,
        "predicted_RBI": 0.4333,
        "predicted_SO": 0.7004
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1198,
          "delta": 0.1198,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.361,
          "delta": 0.361,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8538,
          "delta": -0.1462,
          "percent_delta": -0.1462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0765,
          "delta": 0.0765,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4333,
          "delta": 0.4333,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7004,
          "delta": -0.2996,
          "percent_delta": -0.2996,
          "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.4333,
          "delta": 0.4333,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7004,
          "delta": -0.2996,
          "percent_delta": -0.2996,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.354,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1198,
          "after": 0.0,
          "delta": -0.1198,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2836,
          "after": 0.246,
          "delta": -0.0376,
          "percent_delta": -0.1326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.361,
          "after": 0.0,
          "delta": -0.361,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8538,
          "after": 1.0,
          "delta": 0.1462,
          "percent_delta": 0.1712,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0765,
          "after": 0.0,
          "delta": -0.0765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3472,
          "after": 0.322,
          "delta": -0.0252,
          "percent_delta": -0.0726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4333,
          "after": 0.0,
          "delta": -0.4333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7004,
          "after": 1.0,
          "delta": 0.2996,
          "percent_delta": 0.4278,
          "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.7004,
          "after": 1.0,
          "delta": 0.2996,
          "percent_delta": 0.4278,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4333,
          "after": 0.0,
          "delta": -0.4333,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.354,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.24,
          "delta": -0.006,
          "percent_delta": -0.0244,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.315,
          "delta": -0.007,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.354,
          "after": 0.345,
          "delta": -0.009,
          "percent_delta": -0.0254,
          "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.354,
          "after": 0.345,
          "delta": -0.009,
          "percent_delta": -0.0254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.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": 2.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": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 2.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": 5.0,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.307,
          "delta": -0.008,
          "percent_delta": -0.0254,
          "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.315,
          "after": 0.307,
          "delta": -0.008,
          "percent_delta": -0.0254,
          "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.082,
        "after": 1.0,
        "delta": 0.918,
        "percent_delta": 11.1951,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.24,
        "after": 5.0,
        "delta": 1.76,
        "percent_delta": 0.5432,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.28,
        "after": 0.24,
        "delta": -0.04,
        "percent_delta": -0.1429,
        "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.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.331,
        "after": 0.307,
        "delta": -0.024,
        "percent_delta": -0.0725,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.425,
        "after": 0.0,
        "delta": -0.425,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.33,
        "after": 2.0,
        "delta": 1.67,
        "percent_delta": 5.0606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.658,
        "after": 2.0,
        "delta": 1.342,
        "percent_delta": 2.0395,
        "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_AB",
        "before": 3.24,
        "after": 5.0,
        "delta": 1.76,
        "percent_delta": 0.5432,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.425,
        "after": 0.0,
        "delta": -0.425,
        "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.082-
predicted_3B0.027-
predicted_AB3.240-
predicted_AVG0.280-
predicted_BB0.329-
predicted_H0.910-
predicted_HR0.030-
predicted_OBP0.331-
predicted_R0.425-
predicted_RBI0.330-
predicted_SLG0.348-
predicted_SO0.658-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0960.013
predicted_3B0.023-0.004
predicted_AB3.2770.037
predicted_AVG0.278-0.002
predicted_BB0.316-0.013
predicted_H0.9140.004
predicted_HBP0.018-
predicted_HR0.0320.002
predicted_OBP0.3320.001
predicted_R0.387-0.038
predicted_RBI0.3400.010
predicted_SLG0.3500.002
predicted_SO0.6870.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.0960.000
predicted_3B0.0230.000
predicted_AB3.2770.000
predicted_AVG0.2840.005
predicted_BB0.3200.004
predicted_H0.9290.015
predicted_HBP0.0180.000
predicted_HR0.0330.001
predicted_OBP0.3470.015
predicted_R0.3990.012
predicted_RBI0.3500.010
predicted_SLG0.3570.007
predicted_SO0.679-0.008
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1200.120
3B0.0130.013
BB0.3610.361
H0.854-0.146
HR0.0760.076
RBI0.4330.433
SO0.700-0.300
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.120
3B0.000-0.013
AB3.0000.000
AVG0.246-
BB0.000-0.361
H1.0000.146
HR0.000-0.076
OBP0.322-
R0.0000.000
RBI0.000-0.433
SLG0.354-
SO1.0000.300
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.096
predicted_3B0.000-0.023
predicted_AB3.000-0.277
predicted_AVG0.246-0.038
predicted_BB0.000-0.320
predicted_H1.0000.071
predicted_HR0.000-0.033
predicted_OBP0.322-0.025
predicted_R0.000-0.399
predicted_RBI0.000-0.350
predicted_SLG0.354-0.003
predicted_SO1.0000.321
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.240-0.006
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.315-0.007
R0.0000.000
RBI0.0000.000
SLG0.345-0.009
SO1.0000.000
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
2B1.0001.000
3B0.0000.000
AB5.0002.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.0000.000
RBI2.0002.000
SF0.0000.000
SO2.0001.000
13. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R0.0000.000
RBI2.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: 73
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0000.0000.0001.0001.0004.0000.27780.31580.33330.27780.00000.00000.05560.2222
last_100.2010-32.0009.0001.0000.0000.0003.0001.0003.0008.0000.28120.34290.31250.28120.00000.09380.09380.2500
season0.6073-233.00065.0006.0002.0003.00033.00031.00024.00048.0000.27900.34210.36050.27900.01290.14160.10300.2060
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1140
predicted_3B0.0170
predicted_AB3.3280
predicted_AVG0.2760
predicted_BB0.2980
predicted_H0.9190
predicted_HBP0.0180
predicted_HR0.0350
predicted_OBP0.3338
predicted_R0.3350
predicted_RBI0.3530
predicted_SLG0.3517
predicted_SO0.7280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08200.11400.0955model_form_blend
predicted_3B0.02700.01700.0228model_form_blend
predicted_AB3.24003.32803.2770model_form_blend
predicted_AVG0.28000.27600.2783model_form_blend
predicted_BB0.32900.29800.3160model_form_blend
predicted_H0.91000.91900.9138model_form_blend
predicted_HBP-0.01800.0180form_only
predicted_HR0.03000.03500.0321model_form_blend
predicted_OBP0.33100.33380.3322model_form_blend
predicted_R0.42500.33500.3872model_form_blend
predicted_RBI0.33000.35300.3397model_form_blend
predicted_SLG0.34800.35170.3496model_form_blend
predicted_SO0.65800.72800.6874model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B1
3B0
HR0
R0
RBI2
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_2B0
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_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
allPositionsPlayedSS
gameID20261006_MIL@SD
game_typefull
mlbID806198
playerID806198
playerNameCooper Pratt
posSS
startedTrue
startingPositionSS
teamMIL
teamID16
game_date2026-10-06
sl_k_percent18.0
sl_bb_percent9.8
sl_woba0.32
sl_xwoba0.315
sl_xba0.266
sl_xslg0.362
sl_sweet_spot_percent41.1
sl_barrel_batted_rate3.2
sl_hard_hit_percent27.4
sl_exit_velocity_avg87.0
sl_launch_angle_avg9.1
sl_whiff_percent21.8
sl_swing_percent46.4
Sal Frelick (686217) · BATTER · RF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 374
All-history rows before 20261007: 374
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2395
Diff (system - data): -0.0055
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1670.0000.000Hitting_2B0.2090.000-0.2090.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1704.0004.000Hitting_AB3.4954.0000.5050.000
predicted_AVG0.2320.0000.000Hitting_AVG0.2390.250-0.239-0.250
predicted_BB0.2780.0000.000Hitting_BB0.3260.000-0.3260.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H0.7300.0000.000Hitting_H0.8371.000-0.837-1.000
predicted_HR0.0300.0000.000Hitting_HR0.0480.000-0.0480.000
predicted_OBP0.3260.0000.000Hitting_OBP0.3050.250-0.305-0.250
predicted_R0.3430.0000.000Hitting_R0.3930.000-0.3930.000
predicted_RBI0.4000.0000.000Hitting_RBI0.4360.000-0.4360.000
predicted_SLG0.2930.0000.000Hitting_SLG0.3400.250-0.340-0.250
predicted_SO0.3521.0001.000Hitting_SO0.4200.0000.5801.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_AB: 3.1700 -> 4.0000 (boost 0.8300, 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_blend42231predicted_BB: 0.2780 -> 0.3474 (boost 0.0694, better)predicted_AB: 3.1700 -> 3.0822 (deboost -0.0878, 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.3038 -> 0.3186 (boost 0.0148, better)predicted_OBP: 0.3278 -> 0.3145 (deboost -0.0133, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61524predicted_H: 0.7284 -> 1.0000 (boost 0.2716, better)predicted_RBI: 0.4078 -> 0.0000 (deboost -0.4078, worse)AB rounded to 3 (raw=3.17), rates preserved: AVG=0.234 HR/AB=0.009
6consistency_constraints10101-predicted_R: 0.3226 -> 0.0000 (deboost -0.3226, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_SO: 0.0000 -> 0.4177 (boost 0.4177, worse)predicted_H: 1.0000 -> 0.7980 (deboost -0.2020, 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_allocation71625predicted_SLG: 0.3186 -> 0.3420 (boost 0.0234, better)predicted_H: 0.7980 -> 0.0000 (deboost -0.7980, 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_environment30303-predicted_SLG: 0.3420 -> 0.3340 (deboost -0.0080, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_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_final22020predicted_SLG: 0.3340 -> 0.3450 (boost 0.0110, 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": "686217",
  "player_name": "Sal Frelick",
  "position": "RF",
  "team": "MIL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.167,
        "predicted_3B": 0.0,
        "predicted_AB": 3.17,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.278,
        "predicted_H": 0.73,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.326,
        "predicted_R": 0.343,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.293,
        "predicted_SO": 0.352
      },
      "changed_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.0004,
        "predicted_AB": 3.0822,
        "predicted_AVG": 0.2335,
        "predicted_BB": 0.3474,
        "predicted_H": 0.7163,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0287,
        "predicted_OBP": 0.3278,
        "predicted_R": 0.313,
        "predicted_RBI": 0.3957,
        "predicted_SLG": 0.3038,
        "predicted_SO": 0.3019
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.17,
          "after": 3.0822,
          "delta": -0.0878,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.278,
          "after": 0.3474,
          "delta": 0.0694,
          "percent_delta": 0.2496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.293,
          "after": 0.3038,
          "delta": 0.0108,
          "percent_delta": 0.0369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.352,
          "after": 0.3019,
          "delta": -0.0501,
          "percent_delta": -0.1423,
          "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.278,
          "after": 0.3474,
          "delta": 0.0694,
          "percent_delta": 0.2496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.17,
          "after": 3.0822,
          "delta": -0.0878,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 108
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1649,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0822,
        "predicted_AVG": 0.2363,
        "predicted_BB": 0.3514,
        "predicted_H": 0.7284,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0293,
        "predicted_OBP": 0.3145,
        "predicted_R": 0.3226,
        "predicted_RBI": 0.4078,
        "predicted_SLG": 0.3186,
        "predicted_SO": 0.2984
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3278,
          "after": 0.3145,
          "delta": -0.0133,
          "percent_delta": -0.0406,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3038,
          "after": 0.3186,
          "delta": 0.0148,
          "percent_delta": 0.0487,
          "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.3038,
          "after": 0.3186,
          "delta": 0.0148,
          "percent_delta": 0.0487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3278,
          "after": 0.3145,
          "delta": -0.0133,
          "percent_delta": -0.0406,
          "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.234 HR/AB=0.009",
      "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.1649,
          "after": 0.0,
          "delta": -0.1649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0822,
          "after": 3.0,
          "delta": -0.0822,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3514,
          "after": 0.0,
          "delta": -0.3514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7284,
          "after": 1.0,
          "delta": 0.2716,
          "percent_delta": 0.3729,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4078,
          "after": 0.0,
          "delta": -0.4078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.2984,
          "after": 0.0,
          "delta": -0.2984,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7284,
          "after": 1.0,
          "delta": 0.2716,
          "percent_delta": 0.3729,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4078,
          "after": 0.0,
          "delta": -0.4078,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.3226,
          "after": 0.0,
          "delta": -0.3226,
          "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.3226,
          "after": 0.0,
          "delta": -0.3226,
          "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.1435,
        "predicted_3B": 0.0073,
        "predicted_BB": 0.3499,
        "predicted_H": 0.798,
        "predicted_HR": 0.0695,
        "predicted_RBI": 0.3779,
        "predicted_SO": 0.4177
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1435,
          "delta": 0.1435,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3499,
          "delta": 0.3499,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.798,
          "delta": -0.202,
          "percent_delta": -0.202,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0695,
          "delta": 0.0695,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3779,
          "delta": 0.3779,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4177,
          "delta": 0.4177,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4177,
          "delta": 0.4177,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.798,
          "delta": -0.202,
          "percent_delta": -0.202,
          "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.234,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.342,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1435,
          "after": 0.0,
          "delta": -0.1435,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3499,
          "after": 0.0,
          "delta": -0.3499,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.798,
          "after": 0.0,
          "delta": -0.798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0695,
          "after": 0.0,
          "delta": -0.0695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3779,
          "after": 0.0,
          "delta": -0.3779,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3186,
          "after": 0.342,
          "delta": 0.0234,
          "percent_delta": 0.0734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4177,
          "after": 0.0,
          "delta": -0.4177,
          "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_SLG",
          "before": 0.3186,
          "after": 0.342,
          "delta": 0.0234,
          "percent_delta": 0.0734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.798,
          "after": 0.0,
          "delta": -0.798,
          "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.234,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.342,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.334,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.229,
          "delta": -0.005,
          "percent_delta": -0.0214,
          "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.342,
          "after": 0.334,
          "delta": -0.008,
          "percent_delta": -0.0234,
          "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.342,
          "after": 0.334,
          "delta": -0.008,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_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": 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.238,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.238,
          "delta": 0.009,
          "percent_delta": 0.0393,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.334,
          "after": 0.345,
          "delta": 0.011,
          "percent_delta": 0.0329,
          "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.334,
          "after": 0.345,
          "delta": 0.011,
          "percent_delta": 0.0329,
          "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.167,
        "after": 0.0,
        "delta": -0.167,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.17,
        "after": 4.0,
        "delta": 0.83,
        "percent_delta": 0.2618,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.238,
        "delta": 0.006,
        "percent_delta": 0.0259,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.278,
        "after": 0.0,
        "delta": -0.278,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.326,
        "after": 0.302,
        "delta": -0.024,
        "percent_delta": -0.0736,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.343,
        "after": 0.0,
        "delta": -0.343,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.293,
        "after": 0.345,
        "delta": 0.052,
        "percent_delta": 0.1775,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.352,
        "after": 1.0,
        "delta": 0.648,
        "percent_delta": 1.8409,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.17,
        "after": 4.0,
        "delta": 0.83,
        "percent_delta": 0.2618,
        "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.167-
predicted_3B0.000-
predicted_AB3.170-
predicted_AVG0.232-
predicted_BB0.278-
predicted_H0.730-
predicted_HR0.030-
predicted_OBP0.326-
predicted_R0.343-
predicted_RBI0.400-
predicted_SLG0.293-
predicted_SO0.352-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.002
predicted_3B0.0000.000
predicted_AB3.082-0.088
predicted_AVG0.2340.002
predicted_BB0.3470.069
predicted_H0.716-0.014
predicted_HBP0.012-
predicted_HR0.029-0.001
predicted_OBP0.3280.002
predicted_R0.313-0.030
predicted_RBI0.396-0.004
predicted_SLG0.3040.011
predicted_SO0.302-0.050
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1650.000
predicted_3B0.0000.000
predicted_AB3.0820.000
predicted_AVG0.2360.003
predicted_BB0.3510.004
predicted_H0.7280.012
predicted_HBP0.0120.000
predicted_HR0.0290.001
predicted_OBP0.315-0.013
predicted_R0.3230.010
predicted_RBI0.4080.012
predicted_SLG0.3190.015
predicted_SO0.298-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.17), rates preserved: AVG=0.234 HR/AB=0.009

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.1430.143
3B0.0070.007
BB0.3500.350
H0.798-0.202
HR0.0700.070
RBI0.3780.378
SO0.4180.418
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.143
3B0.000-0.007
AB3.0000.000
AVG0.234-
BB0.000-0.350
H0.000-0.798
HR0.000-0.070
OBP0.311-
R0.0000.000
RBI0.000-0.378
SLG0.342-
SO0.000-0.418
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.165
predicted_3B0.000-0.000
predicted_AB3.000-0.082
predicted_AVG0.234-0.002
predicted_BB0.000-0.351
predicted_H0.000-0.728
predicted_HR0.000-0.029
predicted_OBP0.311-0.004
predicted_R0.000-0.323
predicted_RBI0.000-0.408
predicted_SLG0.3420.023
predicted_SO0.000-0.298
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.229-0.005
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.304-0.007
R0.0000.000
RBI0.0000.000
SLG0.334-0.008
SO0.0000.000
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
RBI0.0000.000
SF0.0000.000
SO1.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
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: 108
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.0003.0001.0000.0000.0002.0001.0004.0000.0000.23080.41180.30770.23080.00000.15380.30770.0000
last_100.2010-25.0006.0001.0000.0000.0004.0001.0005.0000.0000.24000.35480.28000.24000.00000.16000.20000.0000
season0.60108-338.00079.00018.0000.0004.00039.00037.00030.00038.0000.23370.29840.32250.23370.01180.11540.08880.1124
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1620
predicted_3B0.0010
predicted_AB2.9650
predicted_AVG0.2354
predicted_BB0.4400
predicted_H0.6980
predicted_HBP0.0120
predicted_HR0.0270
predicted_OBP0.3303
predicted_R0.2730
predicted_RBI0.3900
predicted_SLG0.3182
predicted_SO0.2350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16700.16200.1649model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.17002.96503.0822model_form_blend
predicted_AVG0.23200.23540.2335model_form_blend
predicted_BB0.27800.44000.3474model_form_blend
predicted_H0.73000.69800.7163model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.03000.02700.0287model_form_blend
predicted_OBP0.32600.33030.3278model_form_blend
predicted_R0.34300.27300.3130model_form_blend
predicted_RBI0.40000.39000.3957model_form_blend
predicted_SLG0.29300.31820.3038model_form_blend
predicted_SO0.35200.23500.3019model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20261006_MIL@SD
game_typefull
mlbID686217
playerID686217
playerNameSal Frelick
posRF
startedTrue
startingPositionRF
teamMIL
teamID16
game_date2026-10-06
sl_k_percent9.9
sl_bb_percent8.1
sl_woba0.275
sl_xwoba0.281
sl_xba0.241
sl_xslg0.324
sl_sweet_spot_percent27.4
sl_barrel_batted_rate2.3
sl_hard_hit_percent26.8
sl_exit_velocity_avg85.7
sl_launch_angle_avg9.8
sl_whiff_percent10.1
sl_swing_percent42.8
Garrett Mitchell (669003) · BATTER · CF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 505
All-history rows before 20261007: 505
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2729
Diff (system - data): -0.0169
System opponent_avg: 0.2790
System season_avg diverges from 2026 season-to-date by -0.0169. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2000.0000.000Hitting_2B0.2320.000-0.2320.000
predicted_3B0.0290.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.9604.0004.000Hitting_AB3.5414.0000.4590.000
predicted_AVG0.2300.0000.000Hitting_AVG0.2730.000-0.2730.000
predicted_BB0.4000.0000.000Hitting_BB0.4300.000-0.4300.000
predicted_CS-0.0000.000BaseRunning_CS0.0570.000-0.0570.000
predicted_H0.9100.0000.000Hitting_H0.9660.000-0.9660.000
predicted_HR0.0800.0000.000Hitting_HR0.0830.000-0.0830.000
predicted_OBP0.3150.0000.000Hitting_OBP0.3570.000-0.3570.000
predicted_R0.5210.0000.000Hitting_R0.5820.000-0.5820.000
predicted_RBI0.3000.0000.000Hitting_RBI0.5250.000-0.5250.000
predicted_SLG0.3410.0000.000Hitting_SLG0.4280.000-0.4280.000
predicted_SO1.2002.0002.000Hitting_SO1.1843.0000.816-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_SO: 1.2000 -> 2.0000 (boost 0.8000, worse)
Biggest Deboostpredicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_OBP: 0.3150 -> 0.3206 (boost 0.0056, better)predicted_AB: 3.9600 -> 3.6752 (deboost -0.2848, 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.3337 -> 0.3483 (boost 0.0146, better)predicted_OBP: 0.3206 -> 0.3140 (deboost -0.0066, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.8654 -> 1.0000 (boost 0.1346, better)predicted_AB: 3.6752 -> 3.0000 (deboost -0.6752, worse)AB rounded to 3 (raw=3.96), rates preserved: AVG=0.223 HR/AB=0.017
6consistency_constraints11010predicted_R: 0.5589 -> 1.0000 (boost 0.4411, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.4384 (boost 0.4384, better)predicted_H: 1.0000 -> 0.8187 (deboost -0.1813, 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_allocation94554predicted_BB: 0.4384 -> 1.0000 (boost 0.5616, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment30303-predicted_SLG: 0.3670 -> 0.3580 (deboost -0.0090, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization42213predicted_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_final10101-predicted_OBP: 0.3250 -> 0.3200 (deboost -0.0050, 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": "669003",
  "player_name": "Garrett Mitchell",
  "position": "CF",
  "team": "MIL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.2,
        "predicted_3B": 0.029,
        "predicted_AB": 3.96,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.4,
        "predicted_H": 0.91,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.315,
        "predicted_R": 0.521,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.341,
        "predicted_SO": 1.2
      },
      "changed_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.1661,
        "predicted_3B": 0.0238,
        "predicted_AB": 3.6752,
        "predicted_AVG": 0.2319,
        "predicted_BB": 0.4161,
        "predicted_H": 0.851,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.0657,
        "predicted_OBP": 0.3206,
        "predicted_R": 0.5423,
        "predicted_RBI": 0.2822,
        "predicted_SLG": 0.3337,
        "predicted_SO": 1.236
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.96,
          "after": 3.6752,
          "delta": -0.2848,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.851,
          "delta": -0.059,
          "percent_delta": -0.0648,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3206,
          "delta": 0.0056,
          "percent_delta": 0.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.341,
          "after": 0.3337,
          "delta": -0.0073,
          "percent_delta": -0.0214,
          "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_OBP",
          "before": 0.315,
          "after": 0.3206,
          "delta": 0.0056,
          "percent_delta": 0.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.96,
          "after": 3.6752,
          "delta": -0.2848,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 140
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1661,
        "predicted_3B": 0.0238,
        "predicted_AB": 3.6752,
        "predicted_AVG": 0.2355,
        "predicted_BB": 0.4209,
        "predicted_H": 0.8654,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.067,
        "predicted_OBP": 0.314,
        "predicted_R": 0.5589,
        "predicted_RBI": 0.2908,
        "predicted_SLG": 0.3483,
        "predicted_SO": 1.2217
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3206,
          "after": 0.314,
          "delta": -0.0066,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3337,
          "after": 0.3483,
          "delta": 0.0146,
          "percent_delta": 0.0438,
          "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.3337,
          "after": 0.3483,
          "delta": 0.0146,
          "percent_delta": 0.0438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3206,
          "after": 0.314,
          "delta": -0.0066,
          "percent_delta": -0.0206,
          "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.96), rates preserved: AVG=0.223 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1661,
          "after": 0.0,
          "delta": -0.1661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6752,
          "after": 3.0,
          "delta": -0.6752,
          "percent_delta": -0.1837,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4209,
          "after": 0.0,
          "delta": -0.4209,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8654,
          "after": 1.0,
          "delta": 0.1346,
          "percent_delta": 0.1555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.067,
          "after": 0.0,
          "delta": -0.067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2908,
          "after": 0.0,
          "delta": -0.2908,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2217,
          "after": 1.0,
          "delta": -0.2217,
          "percent_delta": -0.1815,
          "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.8654,
          "after": 1.0,
          "delta": 0.1346,
          "percent_delta": 0.1555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6752,
          "after": 3.0,
          "delta": -0.6752,
          "percent_delta": -0.1837,
          "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.5589,
          "after": 1.0,
          "delta": 0.4411,
          "percent_delta": 0.7892,
          "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.5589,
          "after": 1.0,
          "delta": 0.4411,
          "percent_delta": 0.7892,
          "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.1509,
        "predicted_3B": 0.0142,
        "predicted_BB": 0.4384,
        "predicted_H": 0.8187,
        "predicted_HR": 0.0843,
        "predicted_RBI": 0.39,
        "predicted_SO": 1.1099
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1509,
          "delta": 0.1509,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4384,
          "delta": 0.4384,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8187,
          "delta": -0.1813,
          "percent_delta": -0.1813,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0843,
          "delta": 0.0843,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.39,
          "delta": 0.39,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1099,
          "delta": 0.1099,
          "percent_delta": 0.1099,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4384,
          "delta": 0.4384,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8187,
          "delta": -0.1813,
          "percent_delta": -0.1813,
          "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.24,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.367,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1509,
          "after": 0.0,
          "delta": -0.1509,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4384,
          "after": 1.0,
          "delta": 0.5616,
          "percent_delta": 1.281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8187,
          "after": 1.0,
          "delta": 0.1813,
          "percent_delta": 0.2214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0843,
          "after": 0.0,
          "delta": -0.0843,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.332,
          "delta": 0.018,
          "percent_delta": 0.0573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.0,
          "delta": -0.39,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3483,
          "after": 0.367,
          "delta": 0.0187,
          "percent_delta": 0.0537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1099,
          "after": 1.0,
          "delta": -0.1099,
          "percent_delta": -0.099,
          "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_BB",
          "before": 0.4384,
          "after": 1.0,
          "delta": 0.5616,
          "percent_delta": 1.281,
          "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": 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.24,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "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": 10,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.234,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.358,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.234,
          "delta": -0.006,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.325,
          "delta": -0.007,
          "percent_delta": -0.0211,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.358,
          "delta": -0.009,
          "percent_delta": -0.0245,
          "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.367,
          "after": 0.358,
          "delta": -0.009,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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_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_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_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": 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.232,
        "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.32,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.362,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.32,
          "delta": -0.005,
          "percent_delta": -0.0154,
          "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.325,
          "after": 0.32,
          "delta": -0.005,
          "percent_delta": -0.0154,
          "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.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 0.0,
        "delta": -0.91,
        "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.315,
        "after": 0.32,
        "delta": 0.005,
        "percent_delta": 0.0159,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.521,
        "after": 0.0,
        "delta": -0.521,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.341,
        "after": 0.362,
        "delta": 0.021,
        "percent_delta": 0.0616,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.2,
        "after": 2.0,
        "delta": 0.8,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.2,
        "after": 2.0,
        "delta": 0.8,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 0.0,
        "delta": -0.91,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.029-
predicted_AB3.960-
predicted_AVG0.230-
predicted_BB0.400-
predicted_H0.910-
predicted_HR0.080-
predicted_OBP0.315-
predicted_R0.521-
predicted_RBI0.300-
predicted_SLG0.341-
predicted_SO1.200-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.166-0.034
predicted_3B0.024-0.005
predicted_AB3.675-0.285
predicted_AVG0.2320.002
predicted_BB0.4160.016
predicted_H0.851-0.059
predicted_HBP0.026-
predicted_HR0.066-0.014
predicted_OBP0.3210.006
predicted_R0.5420.021
predicted_RBI0.282-0.018
predicted_SLG0.334-0.007
predicted_SO1.2360.036
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1660.000
predicted_3B0.0240.000
predicted_AB3.6750.000
predicted_AVG0.2350.004
predicted_BB0.4210.005
predicted_H0.8650.014
predicted_HBP0.0260.000
predicted_HR0.0670.001
predicted_OBP0.314-0.007
predicted_R0.5590.017
predicted_RBI0.2910.009
predicted_SLG0.3480.015
predicted_SO1.222-0.014
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1510.151
3B0.0140.014
BB0.4380.438
H0.819-0.181
HR0.0840.084
RBI0.3900.390
SO1.1100.110
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.240-
BB1.0000.562
H1.0000.181
HR0.000-0.084
OBP0.332-
R0.000-1.000
RBI0.000-0.390
SLG0.367-
SO1.000-0.110
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.166
predicted_3B0.000-0.024
predicted_AB3.000-0.675
predicted_AVG0.2400.005
predicted_BB1.0000.579
predicted_H1.0000.135
predicted_HR0.000-0.067
predicted_OBP0.3320.018
predicted_R0.000-0.559
predicted_RBI0.000-0.291
predicted_SLG0.3670.019
predicted_SO1.000-0.222
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.234-0.006
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.325-0.007
R0.0000.000
RBI0.0000.000
SLG0.358-0.009
SO1.0000.000
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.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
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: 140
Reference playing time: 3.960
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0000.0000.0000.0000.0003.0003.0007.0000.20000.33330.20000.20000.00000.00000.20000.4667
last_100.2010-35.0007.0000.0000.0000.0000.0007.0004.00015.0000.20000.28210.20000.20000.00000.00000.11430.4286
season0.60140-461.000118.00028.0004.00010.00058.00073.00056.000168.0000.25600.34350.39910.25600.02170.12580.12150.3644
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0170
predicted_AB3.3040
predicted_AVG0.2344
predicted_BB0.4370
predicted_H0.7740
predicted_HBP0.0260
predicted_HR0.0470
predicted_OBP0.3279
predicted_R0.5700
predicted_RBI0.2590
predicted_SLG0.3242
predicted_SO1.2830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.12200.1661model_form_blend
predicted_3B0.02900.01700.0238model_form_blend
predicted_AB3.96003.30403.6752model_form_blend
predicted_AVG0.23000.23440.2319model_form_blend
predicted_BB0.40000.43700.4161model_form_blend
predicted_H0.91000.77400.8510model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.08000.04700.0657model_form_blend
predicted_OBP0.31500.32790.3206model_form_blend
predicted_R0.52100.57000.5423model_form_blend
predicted_RBI0.30000.25900.2822model_form_blend
predicted_SLG0.34100.32420.3337model_form_blend
predicted_SO1.20001.28301.2360model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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
allPositionsPlayedCF
gameID20261006_MIL@SD
game_typefull
mlbID669003
playerID669003
playerNameGarrett Mitchell
posCF
startedTrue
startingPositionCF
teamMIL
teamID16
game_date2026-10-06
sl_k_percent31.5
sl_bb_percent11.3
sl_woba0.34
sl_xwoba0.353
sl_xba0.268
sl_xslg0.447
sl_sweet_spot_percent31.5
sl_barrel_batted_rate11.7
sl_hard_hit_percent52.7
sl_exit_velocity_avg93.2
sl_launch_angle_avg2.2
sl_whiff_percent35.8
sl_swing_percent43.9
Joey Ortiz (687401) · BATTER · 3B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 409
All-history rows before 20261007: 409
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2796
Diff (system - data): -0.0136
System opponent_avg: 0.3120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1100.0000.000Hitting_2B0.1170.000-0.1170.000
predicted_3B0.0340.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.1274.0004.000Hitting_AB3.2442.0000.7562.000
predicted_AVG0.2660.5000.500Hitting_AVG0.2800.5000.2200.000
predicted_BB0.2880.0000.000Hitting_BB0.3080.000-0.3080.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.8312.0002.000Hitting_H0.9071.0001.0931.000
predicted_HR0.0760.0000.000Hitting_HR0.0980.000-0.0980.000
predicted_OBP0.3280.5000.500Hitting_OBP0.3380.5000.1620.000
predicted_R0.3981.0001.000Hitting_R0.4500.0000.5501.000
predicted_RBI0.3900.0000.000Hitting_RBI0.4180.000-0.4180.000
predicted_SLG0.3960.5000.500Hitting_SLG0.4270.5000.0730.000
predicted_SO0.7120.0000.000Hitting_SO0.6920.000-0.6920.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: 0.8310 -> 2.0000 (boost 1.1690, better)
Biggest Deboostpredicted_SO: 0.7120 -> 0.0000 (deboost -0.7120, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32112predicted_SO: 0.7120 -> 0.8057 (boost 0.0937, worse)predicted_SLG: 0.3960 -> 0.3809 (deboost -0.0151, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot22020predicted_OBP: 0.3250 -> 0.3303 (boost 0.0053, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.7964 -> 1.0000 (boost 0.2036, worse)predicted_RBI: 0.3678 -> 0.0000 (deboost -0.3678, worse)AB rounded to 3 (raw=3.21), rates preserved: AVG=0.276 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.3894 -> 0.0000 (deboost -0.3894, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3949 (boost 0.3949, better)predicted_SO: 1.0000 -> 0.7470 (deboost -0.2530, 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_allocation92718predicted_SO: 0.7470 -> 1.0000 (boost 0.2530, worse)predicted_RBI: 0.3949 -> 0.0000 (deboost -0.3949, 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_environment30303-predicted_SLG: 0.3720 -> 0.3630 (deboost -0.0090, worse)KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup
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_realization43140predicted_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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final20202-predicted_OBP: 0.3120 -> 0.2990 (deboost -0.0130, 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": "687401",
  "player_name": "Joey Ortiz",
  "position": "3B",
  "team": "MIL",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.11,
        "predicted_3B": 0.034,
        "predicted_AB": 3.127,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.288,
        "predicted_H": 0.831,
        "predicted_HR": 0.076,
        "predicted_OBP": 0.328,
        "predicted_R": 0.398,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.712
      },
      "changed_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.0954,
        "predicted_3B": 0.0357,
        "predicted_AB": 3.2065,
        "predicted_AVG": 0.2663,
        "predicted_BB": 0.282,
        "predicted_H": 0.8538,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0661,
        "predicted_OBP": 0.325,
        "predicted_R": 0.3778,
        "predicted_RBI": 0.3569,
        "predicted_SLG": 0.3809,
        "predicted_SO": 0.8057
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.127,
          "after": 3.2065,
          "delta": 0.0795,
          "percent_delta": 0.0254,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3809,
          "delta": -0.0151,
          "percent_delta": -0.0381,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.712,
          "after": 0.8057,
          "delta": 0.0937,
          "percent_delta": 0.1316,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.712,
          "after": 0.8057,
          "delta": 0.0937,
          "percent_delta": 0.1316,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3809,
          "delta": -0.0151,
          "percent_delta": -0.0381,
          "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.0954,
        "predicted_3B": 0.0357,
        "predicted_AB": 3.2065,
        "predicted_AVG": 0.2708,
        "predicted_BB": 0.2853,
        "predicted_H": 0.8682,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0674,
        "predicted_OBP": 0.3303,
        "predicted_R": 0.3894,
        "predicted_RBI": 0.3678,
        "predicted_SLG": 0.3859,
        "predicted_SO": 0.7964
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3303,
          "delta": 0.0053,
          "percent_delta": 0.0163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3809,
          "after": 0.3859,
          "delta": 0.005,
          "percent_delta": 0.0131,
          "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.325,
          "after": 0.3303,
          "delta": 0.0053,
          "percent_delta": 0.0163,
          "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 3 (raw=3.21), rates preserved: AVG=0.276 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0954,
          "after": 0.0,
          "delta": -0.0954,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.2065,
          "after": 3.0,
          "delta": -0.2065,
          "percent_delta": -0.0644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2853,
          "after": 0.0,
          "delta": -0.2853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8682,
          "after": 1.0,
          "delta": 0.1318,
          "percent_delta": 0.1518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0674,
          "after": 0.0,
          "delta": -0.0674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3678,
          "after": 0.0,
          "delta": -0.3678,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7964,
          "after": 1.0,
          "delta": 0.2036,
          "percent_delta": 0.2557,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7964,
          "after": 1.0,
          "delta": 0.2036,
          "percent_delta": 0.2557,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3678,
          "after": 0.0,
          "delta": -0.3678,
          "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_R",
          "before": 0.3894,
          "after": 0.0,
          "delta": -0.3894,
          "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.3894,
          "after": 0.0,
          "delta": -0.3894,
          "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.119,
        "predicted_3B": 0.0147,
        "predicted_BB": 0.3279,
        "predicted_H": 0.8245,
        "predicted_HR": 0.0899,
        "predicted_RBI": 0.3949,
        "predicted_SO": 0.747
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.119,
          "delta": 0.119,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3279,
          "delta": 0.3279,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8245,
          "delta": -0.1755,
          "percent_delta": -0.1755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0899,
          "delta": 0.0899,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3949,
          "delta": 0.3949,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.747,
          "delta": -0.253,
          "percent_delta": -0.253,
          "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.3949,
          "delta": 0.3949,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.747,
          "delta": -0.253,
          "percent_delta": -0.253,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.372,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.0,
          "delta": -0.119,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2708,
          "after": 0.247,
          "delta": -0.0238,
          "percent_delta": -0.0879,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3279,
          "after": 0.0,
          "delta": -0.3279,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8245,
          "after": 1.0,
          "delta": 0.1755,
          "percent_delta": 0.2129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0899,
          "after": 0.0,
          "delta": -0.0899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3303,
          "after": 0.32,
          "delta": -0.0103,
          "percent_delta": -0.0312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3949,
          "after": 0.0,
          "delta": -0.3949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3859,
          "after": 0.372,
          "delta": -0.0139,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.747,
          "after": 1.0,
          "delta": 0.253,
          "percent_delta": 0.3387,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.747,
          "after": 1.0,
          "delta": 0.253,
          "percent_delta": 0.3387,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3949,
          "after": 0.0,
          "delta": -0.3949,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.372,
        "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 club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.241,
          "delta": -0.006,
          "percent_delta": -0.0243,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.312,
          "delta": -0.008,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.363,
          "delta": -0.009,
          "percent_delta": -0.0242,
          "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.372,
          "after": 0.363,
          "delta": -0.009,
          "percent_delta": -0.0242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 2.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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 2.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": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.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.359,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.235,
          "delta": -0.006,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.299,
          "delta": -0.013,
          "percent_delta": -0.0417,
          "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.312,
          "after": 0.299,
          "delta": -0.013,
          "percent_delta": -0.0417,
          "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.127,
        "after": 4.0,
        "delta": 0.873,
        "percent_delta": 0.2792,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.235,
        "delta": -0.031,
        "percent_delta": -0.1165,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.288,
        "after": 0.0,
        "delta": -0.288,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.831,
        "after": 2.0,
        "delta": 1.169,
        "percent_delta": 1.4067,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.076,
        "after": 0.0,
        "delta": -0.076,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.328,
        "after": 0.299,
        "delta": -0.029,
        "percent_delta": -0.0884,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.398,
        "after": 1.0,
        "delta": 0.602,
        "percent_delta": 1.5126,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.359,
        "delta": -0.037,
        "percent_delta": -0.0934,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.712,
        "after": 0.0,
        "delta": -0.712,
        "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": 0.831,
        "after": 2.0,
        "delta": 1.169,
        "percent_delta": 1.4067,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.712,
        "after": 0.0,
        "delta": -0.712,
        "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.110-
predicted_3B0.034-
predicted_AB3.127-
predicted_AVG0.266-
predicted_BB0.288-
predicted_H0.831-
predicted_HR0.076-
predicted_OBP0.328-
predicted_R0.398-
predicted_RBI0.390-
predicted_SLG0.396-
predicted_SO0.712-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.095-0.015
predicted_3B0.0360.002
predicted_AB3.2070.080
predicted_AVG0.2660.000
predicted_BB0.282-0.006
predicted_H0.8540.023
predicted_HBP0.002-
predicted_HR0.066-0.010
predicted_OBP0.325-0.003
predicted_R0.378-0.020
predicted_RBI0.357-0.033
predicted_SLG0.381-0.015
predicted_SO0.8060.094
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0950.000
predicted_3B0.0360.000
predicted_AB3.2070.000
predicted_AVG0.2710.005
predicted_BB0.2850.003
predicted_H0.8680.014
predicted_HBP0.0020.000
predicted_HR0.0670.001
predicted_OBP0.3300.005
predicted_R0.3890.012
predicted_RBI0.3680.011
predicted_SLG0.3860.005
predicted_SO0.796-0.009
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1190.119
3B0.0150.015
BB0.3280.328
H0.825-0.175
HR0.0900.090
RBI0.3950.395
SO0.747-0.253
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.119
3B0.000-0.015
AB3.0000.000
AVG0.247-
BB0.000-0.328
H1.0000.175
HR0.000-0.090
OBP0.320-
R0.0000.000
RBI0.000-0.395
SLG0.372-
SO1.0000.253
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.095
predicted_3B0.000-0.036
predicted_AB3.000-0.207
predicted_AVG0.247-0.024
predicted_BB0.000-0.285
predicted_H1.0000.132
predicted_HR0.000-0.067
predicted_OBP0.320-0.010
predicted_R0.000-0.389
predicted_RBI0.000-0.368
predicted_SLG0.372-0.014
predicted_SO1.0000.204
10. kpi_run_environment

KPI club run ratio x0.951 applied to runs and RBI, x0.975 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.241-0.006
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.312-0.008
R0.0000.000
RBI0.0000.000
SLG0.363-0.009
SO1.0000.000
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
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.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
AB4.0000.000
BB0.0000.000
H2.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: 118
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0005.0000.0000.0000.0001.0000.0001.0006.0000.29410.33330.29410.29410.00000.05880.05880.3529
last_100.2010-36.0009.0000.0001.0000.0001.0005.0003.00014.0000.25000.30770.30560.25000.00000.02780.08330.3889
season0.60118-369.00098.00013.0004.0009.00046.00047.00034.00084.0000.26560.32350.39570.26560.02440.12470.09210.2276
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0760
predicted_3B0.0380
predicted_AB3.3120
predicted_AVG0.2668
predicted_BB0.2740
predicted_H0.8840
predicted_HBP0.0020
predicted_HR0.0530
predicted_OBP0.3211
predicted_R0.3510
predicted_RBI0.3130
predicted_SLG0.3608
predicted_SO0.9300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11000.07600.0954model_form_blend
predicted_3B0.03400.03800.0357model_form_blend
predicted_AB3.12703.31203.2065model_form_blend
predicted_AVG0.26600.26680.2663model_form_blend
predicted_BB0.28800.27400.2820model_form_blend
predicted_H0.83100.88400.8538model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.07600.05300.0661model_form_blend
predicted_OBP0.32800.32110.3250model_form_blend
predicted_R0.39800.35100.3778model_form_blend
predicted_RBI0.39000.31300.3569model_form_blend
predicted_SLG0.39600.36080.3809model_form_blend
predicted_SO0.71200.93000.8057model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR0
R1
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_AB2
Hitting_AVG0.5
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_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261006_MIL@SD
game_typefull
mlbID687401
playerID687401
playerNameJoey Ortiz
posSS
startedTrue
startingPosition3B
teamMIL
teamID16
game_date2026-10-06
sl_k_percent19.8
sl_bb_percent8.4
sl_woba0.321
sl_xwoba0.297
sl_xba0.243
sl_xslg0.346
sl_sweet_spot_percent29.2
sl_barrel_batted_rate4.0
sl_hard_hit_percent37.6
sl_exit_velocity_avg89.2
sl_launch_angle_avg6.4
sl_whiff_percent19.9
sl_swing_percent44.8
Robert Gasser (688107) · PITCHER · Starter · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 21
All-history rows before 20261007: 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.6671.000-0.6670.000
predicted_ER2.0002.0002.000Pitching_ER2.2381.000-0.2381.000
predicted_H3.0003.0003.000Pitching_H4.5241.000-1.5242.000
predicted_IP3.2003.2003.200Pitching_InningsPitched5.0296.000-1.829-2.800
predicted_SO4.0004.0004.000Pitching_SO4.9059.000-0.905-5.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics4
Boosted Metrics0
Deboosted Metrics4
Better Metrics2
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_ER: 5.0000 -> 2.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, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend published; the staff line follows the published score, not a KPI rescale
7market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
8play_by_play_realization40422-predicted_ER: 5.0000 -> 2.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
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": "688107",
  "player_name": "Robert Gasser",
  "position": "Starter",
  "team": "MIL",
  "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": 5.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": "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": 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": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.2,
        "predicted_R": 2.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 2.0,
          "delta": -3.0,
          "percent_delta": -0.6,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 3.2,
          "delta": -2.1333,
          "percent_delta": -0.4,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 2.0,
          "delta": -3.0,
          "percent_delta": -0.6,
          "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": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.2,
        "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_ER",
        "before": 5.0,
        "after": 2.0,
        "delta": -3.0,
        "percent_delta": -0.6,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 3.2,
        "delta": -2.1333,
        "percent_delta": -0.4,
        "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": 4,
      "boosted_metrics": 0,
      "deboosted_metrics": 4,
      "better_metrics": 2,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 2.0,
        "delta": -3.0,
        "percent_delta": -0.6,
        "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_BB1.000-
predicted_ER5.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP5.333-
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 published; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. 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
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-
BF15.000-
ER2.000-
H3.000-
HR0.000-
IP3.200-
Pitches64.000-
R2.000-
SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 21
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45527.0005.00013.00010.00025.0002.0001.66670.85190.18520.48150.37040.92590.0741
last_100.351052.00017.00042.00021.00051.0004.0002.94231.21150.32690.80770.40380.98080.0769
season0.2021109.10047.00095.00035.000103.00015.0003.86891.18900.42990.86890.32010.94210.1372
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9930
predicted_ER1.7490
predicted_ERA2.9518
predicted_H3.9100
predicted_HR0.5300
predicted_IP5.1000
predicted_SO5.0430
predicted_WHIP1.1068
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.99301.5648model_form_blend
predicted_ER5.00001.74903.1510model_form_blend
predicted_ERA-2.95182.9518form_only
predicted_H4.00003.91003.9488model_form_blend
predicted_HR0.00000.53000.3014model_form_blend
predicted_IP5.10005.10005.1000model_form_blend
predicted_SO5.00005.04305.0245model_form_blend
predicted_WHIP-1.10681.1068form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP3.2
H3
R2
ER2
BB1
SO4
HR0
BF15
Pitches64

Latest Real Data Snapshot (before report date)

Latest 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 Faced20
Pitching_ER1
Pitching_ERA3.87
Pitching_Flyouts2
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches87
Pitching_R1
Pitching_SO9
Pitching_Strikes57
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260925_STL@MIL
game_typefull
mlbID688107
playerID688107
playerNameRobert Gasser
posP
startedTrue
startingPositionP
teamMIL
teamID16
game_date2026-09-25
sl_k_percent22.3
sl_bb_percent7.4
sl_woba0.309
sl_xwoba0.317
sl_sweet_spot_percent37.8
sl_barrel_batted_rate7.6
sl_hard_hit_percent34.0
sl_whiff_percent22.5
sl_swing_percent49.3
sl_avg_best_speed74.591601538
sl_avg_hyper_speed93.170492147
Antonio Senzatela (622608) · PITCHER · Middle Reliever (High Leverage) · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 25
All-history rows before 20261007: 25

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.4000.0000.6001.000
predicted_ER1.0001.0001.000Pitching_ER0.4800.0000.5201.000
predicted_H0.0000.0000.000Pitching_H1.0001.000-1.000-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7201.0000.2800.000
predicted_SO1.0001.0001.000Pitching_SO0.6001.0000.4000.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_ER: 0.0000 -> 1.0000 (boost 1.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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization22011predicted_ER: 0.0000 -> 1.0000 (boost 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": "622608",
  "player_name": "Antonio Senzatela",
  "position": "Middle Reliever (High Leverage)",
  "team": "MIL",
  "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.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
      }
    },
    {
      "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 published; 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": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.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_SO",
          "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": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 1.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
      }
    }
  ],
  "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_SO",
        "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": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "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_BB1.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
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 published; 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-
BF4.000-
ER1.000-
H0.000-
HR0.000-
IP1.000-
Pitches14.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: 59
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1000.0004.0002.0003.0000.0000.00001.38460.00000.92310.46150.69230.0000
last_100.35108.1002.0009.0002.0006.0001.0002.16001.32000.24001.08000.24000.72000.1200
season0.205975.00033.00076.00027.00061.0006.0003.96001.37330.44001.01330.36000.81330.0800
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3540
predicted_ER0.2460
predicted_ERA2.2990
predicted_H0.9560
predicted_HR0.0770
predicted_IP1.0000
predicted_SO0.7480
predicted_WHIP1.3612
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.35400.6467model_form_blend
predicted_ER0.00000.24600.1345model_form_blend
predicted_ERA-2.29902.2990form_only
predicted_H0.00000.95600.5228model_form_blend
predicted_HR0.00000.07700.0421model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.74800.4091model_form_blend
predicted_WHIP-1.36121.3612form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R1
ER1
BB1
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 Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R1
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261006_MIL@SD
game_typefull
mlbID622608
playerID622608
playerNameAntonio Senzatela
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-10-06
sl_k_percent19.3
sl_bb_percent8.4
sl_woba0.31
sl_xwoba0.31
sl_sweet_spot_percent32.3
sl_barrel_batted_rate6.3
sl_hard_hit_percent40.4
sl_whiff_percent23.5
sl_swing_percent49.4
sl_avg_best_speed77.021888727
sl_avg_hyper_speed94.288859455
Aaron Ashby (676879) · PITCHER · Setup Man · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 77
All-history rows before 20261007: 77

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5320.000-0.5320.000
predicted_ER1.0001.0001.000Pitching_ER0.4030.0000.5971.000
predicted_H1.0001.0001.000Pitching_H1.0132.000-0.013-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.0951.0000.0050.100
predicted_SO2.0002.0002.000Pitching_SO1.5321.0000.4681.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics1
Worse Metrics3
Biggest Boostpredicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better)
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization43113predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, 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": "676879",
  "player_name": "Aaron Ashby",
  "position": "Setup Man",
  "team": "MIL",
  "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.3333,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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.1,
        "predicted_R": 1.0,
        "predicted_SO": 2.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_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.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "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_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.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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.333-
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 published; 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-
ER1.000-
H1.000-
HR1.000-
IP1.100-
Pitches19.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: 77
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.2000.0002.0000.0007.0000.0000.00000.26090.00000.26090.00000.91300.0000
last_100.351013.0003.0009.0003.0009.0001.0002.07690.92310.23080.69230.23080.69230.0769
season0.207792.00031.00078.00041.000118.0008.0003.03261.29350.33700.84780.44561.28260.0870
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3100
predicted_ER0.3260
predicted_ERA2.0193
predicted_H0.9070
predicted_HR0.0960
predicted_IP1.1000
predicted_SO1.3280
predicted_WHIP0.8381
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.31000.1742model_form_blend
predicted_ER0.00000.32600.1832model_form_blend
predicted_ERA-2.01932.0193form_only
predicted_H1.00000.90700.9477model_form_blend
predicted_HR0.00000.09600.0539model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO0.00001.32800.7463model_form_blend
predicted_WHIP-0.83810.8381form_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 date77
Season rows before report date77
Report year2026
Profile rows used77
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R1
ER1
BB0
SO2
HR1
BF5
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261004_SD@MIL
game_typefull
mlbID676879
playerID676879
playerNameAaron Ashby
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-10-04
sl_k_percent30.3
sl_bb_percent10.7
sl_woba0.287
sl_xwoba0.268
sl_sweet_spot_percent28.1
sl_barrel_batted_rate4.9
sl_hard_hit_percent40.2
sl_whiff_percent32.1
sl_swing_percent40.5
sl_avg_best_speed76.20475045
sl_avg_hyper_speed94.447155135
Trevor Megill (656730) · PITCHER · Closer · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 65
All-history rows before 20261007: 65

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.2310.0000.7691.000
predicted_ER0.0000.0000.000Pitching_ER0.2770.000-0.2770.000
predicted_H3.0003.0003.000Pitching_H0.6310.0002.3693.000
predicted_IP4.0004.0004.000Pitching_InningsPitched0.9631.0003.0373.000
predicted_SO1.0001.0001.000Pitching_SO1.0920.000-0.0921.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics1
Worse Metrics3
Biggest Boostpredicted_H: 0.0000 -> 3.0000 (boost 3.0000, worse)
Biggest Deboostpredicted_SO: 3.0000 -> 1.0000 (deboost -2.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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization43113predicted_H: 0.0000 -> 3.0000 (boost 3.0000, worse)predicted_SO: 3.0000 -> 1.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
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": "656730",
  "player_name": "Trevor Megill",
  "position": "Closer",
  "team": "MIL",
  "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": 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, 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 published; 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": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.0,
        "predicted_R": 1.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": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 3.0,
        "delta": 3.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 4.0,
        "delta": 3.0,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 3.0,
        "delta": 3.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "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_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, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend published; 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-
BF17.000-
ER0.000-
H3.000-
HR0.000-
IP4.000-
Pitches67.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: 64
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1000.0002.0000.0005.0000.0000.00000.37500.00000.37500.00000.93750.0000
last_100.35109.2005.00010.0001.0009.0001.0004.65521.13790.51721.03450.10350.93100.1035
season0.206464.00014.00039.00015.00071.0001.0001.96880.84380.21880.60940.23441.10940.0156
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1650
predicted_ER0.3040
predicted_ERA2.7372
predicted_H0.7440
predicted_HR0.0690
predicted_IP1.0000
predicted_SO0.9600
predicted_WHIP0.9087
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.16500.0881model_form_blend
predicted_ER0.00000.30400.1623model_form_blend
predicted_ERA-2.73722.7372form_only
predicted_H0.00000.74400.3973model_form_blend
predicted_HR0.00000.06900.0368model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00000.96001.9106model_form_blend
predicted_WHIP-0.90870.9087form_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 used64
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.0
H3
R1
ER0
BB1
SO1
HR0
BF17
Pitches67

Latest Real Data Snapshot (before report date)

Latest 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_Flyouts2
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20261004_SD@MIL
game_typefull
mlbID656730
playerID656730
playerNameTrevor Megill
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-10-04
sl_k_percent28.5
sl_bb_percent6.2
sl_woba0.208
sl_xwoba0.252
sl_sweet_spot_percent28.7
sl_barrel_batted_rate6.4
sl_hard_hit_percent42.0
sl_whiff_percent30.5
sl_swing_percent54.0
sl_avg_best_speed81.208537368
sl_avg_hyper_speed94.306671184

Home Team: SD

Home Pitcher Deep Analysis

FieldValue
PitcherWalker Buehler
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1628
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0012
Avg Velo89.8422
Avg Spin2199.0810
HB Inches0
IVB Inches0
Release Extension0
Pre IP3.2000
Pre ER3
Pre H4
Pre BB3
Pre SO4
Season ERA4.6269
Season WHIP1.3471
Role Avg IP4.8020
Recent Avg IP4.4670
Last Start IP3.2000
Team Form Snapshot
{
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "opponent": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.1939,
    "offense_edge": -0.0064,
    "opponent_offense_edge": 0.1449,
    "defense_strength": 0.0671,
    "opponent_defense_weakness": -0.1759,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9885,
    "run_prevention": 1.0262,
    "strikeout": 0.9826
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "621111",
    "profile": {
      "available": true,
      "pitcher_id": "621111",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 583.0,
        "k_percent": 20.1,
        "bb_percent": 8.8,
        "woba": 0.329,
        "xwoba": 0.317,
        "sweet_spot_percent": 30.9,
        "barrel_batted_rate": 8.4,
        "hard_hit_percent": 38.7,
        "avg_best_speed": 78.722,
        "avg_hyper_speed": 94.112,
        "whiff_percent": 19.5,
        "swing_percent": 45.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.169,
        "command_and_miss": -0.3936,
        "regression_edge": 0.3429,
        "xwoba_edge": -0.1429,
        "barrel_edge": -0.2667,
        "hard_hit_edge": -0.1143,
        "whiff_edge": -0.8143,
        "bb_edge": 0.1,
        "pitch_design_score": -0.0012
      },
      "quality_score": -0.1628,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0138,
      "strikeout_factor": 0.956,
      "walk_factor": 0.992,
      "homer_factor": 1.0302,
      "woba_minus_xwoba": 0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "621111",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0138,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 1.0138,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.992,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0302,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.956,
        "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": 49.1,
    "ER": 19,
    "H": 43,
    "BB": 13,
    "SO": 39,
    "HR": 8,
    "ERA": 3.4662162162162162,
    "WHIP": 1.135135135135135,
    "K9": 7.114864864864865,
    "HR9": 1.4594594594594594,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "621111",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 69,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 69,
    "pitch_usage": 0.0,
    "release_speed": 89.84218390169383,
    "release_spin_rate": 2199.080983688629,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 69,
      "pitch_usage": 0.0,
      "release_speed": 89.84218390169383,
      "release_spin_rate": 2199.080983688629,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.8422,
    "release_spin_rate": 2199.081,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0012,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.0088,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "621111",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 22.1,
        "ER": 11.0,
        "R": 12.0,
        "H": 21.0,
        "BB": 8.0,
        "SO": 20.0,
        "HR": 5.0,
        "BF": 92.0,
        "Pitches": 390.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.2,
        "R": 2.4,
        "H": 4.2,
        "BB": 1.6,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 18.4,
        "Pitches": 78.0
      },
      "rates": {
        "ERA": 4.4328,
        "WHIP": 1.2985,
        "ER_per_IP": 0.49254,
        "H_per_IP": 0.9403,
        "BB_per_IP": 0.35821,
        "SO_per_IP": 0.89552,
        "HR_per_IP": 0.22388
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 49.1,
        "ER": 19.0,
        "R": 20.0,
        "H": 43.0,
        "BB": 13.0,
        "SO": 39.0,
        "HR": 8.0,
        "BF": 196.0,
        "Pitches": 807.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.9,
        "R": 2.0,
        "H": 4.3,
        "BB": 1.3,
        "SO": 3.9,
        "HR": 0.8,
        "BF": 19.6,
        "Pitches": 80.7
      },
      "rates": {
        "ERA": 3.4662,
        "WHIP": 1.1351,
        "ER_per_IP": 0.38514,
        "H_per_IP": 0.87162,
        "BB_per_IP": 0.26351,
        "SO_per_IP": 0.79054,
        "HR_per_IP": 0.16216
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 153.2,
        "ER": 79.0,
        "R": 81.0,
        "H": 150.0,
        "BB": 57.0,
        "SO": 131.0,
        "HR": 22.0,
        "BF": 651.0,
        "Pitches": 2608.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.4688,
        "R": 2.5312,
        "H": 4.6875,
        "BB": 1.7812,
        "SO": 4.0938,
        "HR": 0.6875,
        "BF": 20.3438,
        "Pitches": 81.5
      },
      "rates": {
        "ERA": 4.6269,
        "WHIP": 1.3471,
        "ER_per_IP": 0.5141,
        "H_per_IP": 0.97614,
        "BB_per_IP": 0.37093,
        "SO_per_IP": 0.85249,
        "HR_per_IP": 0.14317
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 2.164,
    "predicted_H": 4.322,
    "predicted_BB": 1.552,
    "predicted_SO": 3.996,
    "predicted_HR": 0.839,
    "predicted_ERA": 4.1997,
    "predicted_WHIP": 1.2665
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4071,
  "form_weight": 0.5929,
  "form_reliability": 0.8649,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.2,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 6.0,
      "form": 2.164,
      "final": 3.7256,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 4.322,
      "final": 5.0051,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.552,
      "final": 0.9202,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 3.996,
      "final": 4.4047,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.839,
      "final": 0.4975,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1997,
      "final": 4.1997,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2665,
      "final": 1.2665,
      "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
PitcherBradgley Rodriguez
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.0127
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 ERA1.7089
Season WHIP0.9747
Role Avg IP1.1360
Recent Avg IP1.4000
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "opponent": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.1939,
    "offense_edge": -0.0064,
    "opponent_offense_edge": 0.1449,
    "defense_strength": 0.0671,
    "opponent_defense_weakness": -0.1759,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9885,
    "run_prevention": 1.0262,
    "strikeout": 0.9826
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "699134",
    "profile": {
      "available": true,
      "pitcher_id": "699134",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 272.0,
        "k_percent": 26.9,
        "bb_percent": 6.6,
        "woba": 0.266,
        "xwoba": 0.239,
        "sweet_spot_percent": 27.0,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 30.0,
        "avg_best_speed": 76.2635,
        "avg_hyper_speed": 92.9787,
        "whiff_percent": 30.1,
        "swing_percent": 51.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": 1.3532,
        "command_and_miss": 0.6836,
        "regression_edge": 0.7714,
        "xwoba_edge": 2.0857,
        "barrel_edge": 0.6,
        "hard_hit_edge": 1.1286,
        "whiff_edge": 0.7,
        "bb_edge": 0.65,
        "pitch_design_score": 0.0
      },
      "quality_score": 1.0127,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9139,
      "strikeout_factor": 1.0554,
      "walk_factor": 0.948,
      "homer_factor": 0.8443,
      "woba_minus_xwoba": 0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "699134",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9139,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9139,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.948,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8443,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0554,
        "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": 12.2,
    "ER": 2,
    "H": 8,
    "BB": 4,
    "SO": 14,
    "HR": 1,
    "ERA": 1.4210526315789473,
    "WHIP": 0.9473684210526316,
    "K9": 9.947368421052632,
    "HR9": 0.7105263157894737,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "699134",
  "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.313,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7654,
    "prior_weight": 0.2346
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "699134",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 70,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 29.0,
        "Pitches": 108.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.6,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 5.8,
        "Pitches": 21.6
      },
      "rates": {
        "ERA": 1.2857,
        "WHIP": 1.0,
        "ER_per_IP": 0.14286,
        "H_per_IP": 0.57143,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 9.0,
        "BB": 4.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 54.0,
        "Pitches": 202.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.9,
        "BB": 0.4,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 5.4,
        "Pitches": 20.2
      },
      "rates": {
        "ERA": 1.3171,
        "WHIP": 0.9512,
        "ER_per_IP": 0.14634,
        "H_per_IP": 0.65854,
        "BB_per_IP": 0.29268,
        "SO_per_IP": 1.17073,
        "HR_per_IP": 0.07317
      }
    },
    "season": {
      "games": 70,
      "totals": {
        "IP": 79.0,
        "ER": 15.0,
        "R": 19.0,
        "H": 56.0,
        "BB": 21.0,
        "SO": 88.0,
        "HR": 4.0,
        "BF": 316.0,
        "Pitches": 1235.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2143,
        "R": 0.2714,
        "H": 0.8,
        "BB": 0.3,
        "SO": 1.2571,
        "HR": 0.0571,
        "BF": 4.5143,
        "Pitches": 17.6429
      },
      "rates": {
        "ERA": 1.7089,
        "WHIP": 0.9747,
        "ER_per_IP": 0.18987,
        "H_per_IP": 0.70886,
        "BB_per_IP": 0.26582,
        "SO_per_IP": 1.11392,
        "HR_per_IP": 0.05063
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.305,
    "predicted_H": 0.914,
    "predicted_BB": 0.456,
    "predicted_SO": 1.47,
    "predicted_HR": 0.08,
    "predicted_ERA": 2.1422,
    "predicted_WHIP": 1.0688
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4491,
  "form_weight": 0.5509,
  "form_reliability": 0.7654,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.313,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7654,
    "prior_weight": 0.2346
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.305,
      "final": 0.168,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.914,
      "final": 0.9526,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.456,
      "final": 0.2512,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.47,
      "final": 1.708,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.08,
      "final": 0.0441,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.1422,
      "final": 2.1422,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0688,
      "final": 1.0688,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJason Adam
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0599
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1391
Avg Velo87.3795
Avg Spin2393.0679
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.4545
Season WHIP1.1727
Role Avg IP0.8940
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "opponent": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.1939,
    "offense_edge": -0.0064,
    "opponent_offense_edge": 0.1449,
    "defense_strength": 0.0671,
    "opponent_defense_weakness": -0.1759,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9885,
    "run_prevention": 1.0262,
    "strikeout": 0.9826
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592094",
    "profile": {
      "available": true,
      "pitcher_id": "592094",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 131.0,
        "k_percent": 15.5,
        "bb_percent": 7.0,
        "woba": 0.307,
        "xwoba": 0.3,
        "sweet_spot_percent": 26.2,
        "barrel_batted_rate": 7.5,
        "hard_hit_percent": 37.4,
        "avg_best_speed": 77.066,
        "avg_hyper_speed": 93.4317,
        "whiff_percent": 28.5,
        "swing_percent": 52.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.2575,
        "command_and_miss": -0.1493,
        "regression_edge": 0.2,
        "xwoba_edge": 0.3429,
        "barrel_edge": -0.0667,
        "hard_hit_edge": 0.0714,
        "whiff_edge": 0.4714,
        "bb_edge": 0.55,
        "pitch_design_score": -0.1391
      },
      "quality_score": 0.0599,
      "sample_weight": 0.524,
      "run_prevention_factor": 0.9949,
      "strikeout_factor": 0.9901,
      "walk_factor": 0.9769,
      "homer_factor": 0.9959,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "592094",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9973,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9973,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9879,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9979,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 0.9948,
        "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": 9.1,
    "ER": 4,
    "H": 6,
    "BB": 4,
    "SO": 4,
    "HR": 1,
    "ERA": 3.8571428571428577,
    "WHIP": 1.0714285714285716,
    "K9": 3.8571428571428577,
    "HR9": 0.9642857142857144,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "592094",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 24,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 24,
    "pitch_usage": 0.0,
    "release_speed": 87.37954533354257,
    "release_spin_rate": 2393.0678992520393,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 24,
      "pitch_usage": 0.0,
      "release_speed": 87.37954533354257,
      "release_spin_rate": 2393.0678992520393,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 87.3795,
    "release_spin_rate": 2393.0679,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1391,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.9938,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.571,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6023,
    "prior_weight": 0.3977
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592094",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 41,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 4.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 72.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.8,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.1538,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.23077,
        "BB_per_IP": 0.92308,
        "SO_per_IP": 0.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 169.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.4,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 16.9
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.0714,
        "ER_per_IP": 0.42857,
        "H_per_IP": 0.64286,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.42857,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 41,
      "totals": {
        "IP": 36.2,
        "ER": 10.0,
        "R": 10.0,
        "H": 31.0,
        "BB": 12.0,
        "SO": 22.0,
        "HR": 5.0,
        "BF": 152.0,
        "Pitches": 623.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2439,
        "R": 0.2439,
        "H": 0.7561,
        "BB": 0.2927,
        "SO": 0.5366,
        "HR": 0.122,
        "BF": 3.7073,
        "Pitches": 15.1951
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 1.1727,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.84545,
        "BB_per_IP": 0.32727,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.13636
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.39,
    "predicted_H": 0.692,
    "predicted_BB": 0.531,
    "predicted_SO": 0.534,
    "predicted_HR": 0.098,
    "predicted_ERA": 3.5109,
    "predicted_WHIP": 1.223
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.518,
  "form_weight": 0.482,
  "form_reliability": 0.6023,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.571,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6023,
    "prior_weight": 0.3977
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.39,
      "final": 0.188,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.692,
      "final": 0.3335,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.531,
      "final": 0.774,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.534,
      "final": 0.7754,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.098,
      "final": 0.0472,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5109,
      "final": 3.5109,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.223,
      "final": 1.223,
      "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
PitcherAdrian Morejon
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.1536
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP4
Pre ER2
Pre H4
Pre BB0
Pre SO3
Season ERA2.8000
Season WHIP1.0778
Role Avg IP1.1540
Recent Avg IP1.4670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9936,
    "defense_index": 1.0671,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1885
  },
  "opponent": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1449,
    "defense_index": 1.1759,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3824
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.1939,
    "offense_edge": -0.0064,
    "opponent_offense_edge": 0.1449,
    "defense_strength": 0.0671,
    "opponent_defense_weakness": -0.1759,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9885,
    "run_prevention": 1.0262,
    "strikeout": 0.9826
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670970",
    "profile": {
      "available": true,
      "pitcher_id": "670970",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 324.0,
        "k_percent": 30.4,
        "bb_percent": 8.0,
        "woba": 0.244,
        "xwoba": 0.237,
        "sweet_spot_percent": 28.3,
        "barrel_batted_rate": 2.8,
        "hard_hit_percent": 32.5,
        "avg_best_speed": 74.3318,
        "avg_hyper_speed": 93.3234,
        "whiff_percent": 34.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": 1.5398,
        "command_and_miss": 1.0436,
        "regression_edge": 0.2,
        "xwoba_edge": 2.1429,
        "barrel_edge": 0.9778,
        "hard_hit_edge": 0.7714,
        "whiff_edge": 1.2857,
        "bb_edge": 0.3,
        "pitch_design_score": 0.0
      },
      "quality_score": 1.1536,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9019,
      "strikeout_factor": 1.0989,
      "walk_factor": 0.976,
      "homer_factor": 0.8266,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "670970",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9019,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9019,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.976,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8266,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0989,
        "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.1,
    "ER": 3,
    "H": 8,
    "BB": 4,
    "SO": 13,
    "HR": 1,
    "ERA": 2.382352941176471,
    "WHIP": 1.0588235294117647,
    "K9": 10.323529411764707,
    "HR9": 0.7941176470588236,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "670970",
  "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.584,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.788,
    "prior_weight": 0.212
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670970",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 78,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 29.0,
        "Pitches": 98.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 5.8,
        "Pitches": 19.6
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 1.0909,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.13636
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 4.0,
        "SO": 13.0,
        "HR": 1.0,
        "BF": 45.0,
        "Pitches": 158.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.3,
        "HR": 0.1,
        "BF": 4.5,
        "Pitches": 15.8
      },
      "rates": {
        "ERA": 2.3824,
        "WHIP": 1.0588,
        "ER_per_IP": 0.26471,
        "H_per_IP": 0.70588,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 1.14706,
        "HR_per_IP": 0.08824
      }
    },
    "season": {
      "games": 78,
      "totals": {
        "IP": 90.0,
        "ER": 28.0,
        "R": 33.0,
        "H": 69.0,
        "BB": 28.0,
        "SO": 109.0,
        "HR": 5.0,
        "BF": 367.0,
        "Pitches": 1378.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.359,
        "R": 0.4231,
        "H": 0.8846,
        "BB": 0.359,
        "SO": 1.3974,
        "HR": 0.0641,
        "BF": 4.7051,
        "Pitches": 17.6667
      },
      "rates": {
        "ERA": 2.8,
        "WHIP": 1.0778,
        "ER_per_IP": 0.31111,
        "H_per_IP": 0.76667,
        "BB_per_IP": 0.31111,
        "SO_per_IP": 1.21111,
        "HR_per_IP": 0.05556
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.39,
    "predicted_H": 0.968,
    "predicted_BB": 0.385,
    "predicted_SO": 1.183,
    "predicted_HR": 0.134,
    "predicted_ERA": 2.9491,
    "predicted_WHIP": 1.1382
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4396,
  "form_weight": 0.5604,
  "form_reliability": 0.788,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.584,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.788,
    "prior_weight": 0.212
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.39,
      "final": 0.2186,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.968,
      "final": 0.9821,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.385,
      "final": 0.2158,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.183,
      "final": 1.1026,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.134,
      "final": 0.0751,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9491,
      "final": 2.9491,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1382,
      "final": 1.1382,
      "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."
}
Fernando Tatis Jr. (665487) · BATTER · RF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 675
All-history rows before 20261007: 675
System season_avg: 0.2840
Data season_avg (2026 season-to-date): 0.2910
Diff (system - data): -0.0070
System opponent_avg: 0.1520

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1980.0000.000Hitting_2B0.2130.000-0.2130.000
predicted_3B0.0190.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.9603.0003.000Hitting_AB4.0474.000-1.047-1.000
predicted_AVG0.2410.3330.333Hitting_AVG0.2910.0000.0420.333
predicted_BB0.3892.0002.000Hitting_BB0.4090.0001.5912.000
predicted_CS-0.0000.000BaseRunning_CS0.0840.000-0.0840.000
predicted_H1.1901.0001.000Hitting_H1.1780.000-0.1781.000
predicted_HR0.2000.0000.000Hitting_HR0.1640.000-0.1640.000
predicted_OBP0.2960.6000.600Hitting_OBP0.3590.0000.2410.600
predicted_R0.6111.0001.000Hitting_R0.6360.0000.3641.000
predicted_RBI0.5700.0000.000Hitting_RBI0.5511.000-0.551-1.000
predicted_SLG0.4350.3330.333Hitting_SLG0.4760.000-0.1430.333
predicted_SO0.8400.0000.000Hitting_SO0.8461.000-0.846-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.3890 -> 2.0000 (boost 1.6110, better)
Biggest Deboostpredicted_AB: 4.9600 -> 3.0000 (deboost -1.9600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_OBP: 0.2960 -> 0.3031 (boost 0.0071, better)predicted_AB: 4.9600 -> 4.5510 (deboost -0.4090, 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.4262 -> 0.4021 (deboost -0.0241, 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.8884 -> 1.0000 (boost 0.1116, worse)predicted_AB: 4.5510 -> 4.0000 (deboost -0.5510, worse)AB rounded to 4 (raw=4.96), rates preserved: AVG=0.213 HR/AB=0.035
6consistency_constraints11010predicted_R: 0.5999 -> 1.0000 (boost 0.4001, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.4823 (boost 0.4823, better)predicted_SO: 1.0000 -> 0.8281 (deboost -0.1719, 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_allocation86253predicted_2B: 0.1740 -> 1.0000 (boost 0.8260, better)predicted_BB: 0.4228 -> 0.0000 (deboost -0.4228, 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_environment44040predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization51423predicted_BB: 1.0000 -> 2.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_final10101-predicted_AVG: 0.2610 -> 0.2560 (deboost -0.0050, 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": "665487",
  "player_name": "Fernando Tatis Jr.",
  "position": "RF",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.198,
        "predicted_3B": 0.019,
        "predicted_AB": 4.96,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.389,
        "predicted_H": 1.19,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.296,
        "predicted_R": 0.611,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.435,
        "predicted_SO": 0.84
      },
      "changed_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.1818,
        "predicted_3B": 0.0155,
        "predicted_AB": 4.551,
        "predicted_AVG": 0.2467,
        "predicted_BB": 0.364,
        "predicted_H": 1.1168,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1803,
        "predicted_OBP": 0.3031,
        "predicted_R": 0.6233,
        "predicted_RBI": 0.527,
        "predicted_SLG": 0.4262,
        "predicted_SO": 0.883
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.96,
          "after": 4.551,
          "delta": -0.409,
          "percent_delta": -0.0825,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2467,
          "delta": 0.0057,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.19,
          "after": 1.1168,
          "delta": -0.0732,
          "percent_delta": -0.0615,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.3031,
          "delta": 0.0071,
          "percent_delta": 0.024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.4262,
          "delta": -0.0088,
          "percent_delta": -0.0202,
          "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_OBP",
          "before": 0.296,
          "after": 0.3031,
          "delta": 0.0071,
          "percent_delta": 0.024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.96,
          "after": 4.551,
          "delta": -0.409,
          "percent_delta": -0.0825,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 162
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1818,
        "predicted_3B": 0.0155,
        "predicted_AB": 4.551,
        "predicted_AVG": 0.2399,
        "predicted_BB": 0.3618,
        "predicted_H": 1.0917,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1752,
        "predicted_OBP": 0.2959,
        "predicted_R": 0.5999,
        "predicted_RBI": 0.5072,
        "predicted_SLG": 0.4021,
        "predicted_SO": 0.8884
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2467,
          "after": 0.2399,
          "delta": -0.0068,
          "percent_delta": -0.0276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3031,
          "after": 0.2959,
          "delta": -0.0072,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4262,
          "after": 0.4021,
          "delta": -0.0241,
          "percent_delta": -0.0565,
          "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.4262,
          "after": 0.4021,
          "delta": -0.0241,
          "percent_delta": -0.0565,
          "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.96), rates preserved: AVG=0.213 HR/AB=0.035",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1818,
          "after": 0.0,
          "delta": -0.1818,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.551,
          "after": 4.0,
          "delta": -0.551,
          "percent_delta": -0.1211,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3618,
          "after": 0.0,
          "delta": -0.3618,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0917,
          "after": 1.0,
          "delta": -0.0917,
          "percent_delta": -0.084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1752,
          "after": 0.0,
          "delta": -0.1752,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5072,
          "after": 0.0,
          "delta": -0.5072,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8884,
          "after": 1.0,
          "delta": 0.1116,
          "percent_delta": 0.1256,
          "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.8884,
          "after": 1.0,
          "delta": 0.1116,
          "percent_delta": 0.1256,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.551,
          "after": 4.0,
          "delta": -0.551,
          "percent_delta": -0.1211,
          "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.5999,
          "after": 1.0,
          "delta": 0.4001,
          "percent_delta": 0.6669,
          "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.5999,
          "after": 1.0,
          "delta": 0.4001,
          "percent_delta": 0.6669,
          "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.174,
        "predicted_3B": 0.0154,
        "predicted_BB": 0.4228,
        "predicted_H": 1.0066,
        "predicted_HR": 0.1501,
        "predicted_RBI": 0.4823,
        "predicted_SO": 0.8281
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.174,
          "delta": 0.174,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4228,
          "delta": 0.4228,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1501,
          "delta": 0.1501,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4823,
          "delta": 0.4823,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8281,
          "delta": -0.1719,
          "percent_delta": -0.1719,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4823,
          "delta": 0.4823,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8281,
          "delta": -0.1719,
          "percent_delta": -0.1719,
          "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.251,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.415,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 1.0,
          "delta": 0.826,
          "percent_delta": 4.7471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2399,
          "after": 0.251,
          "delta": 0.0111,
          "percent_delta": 0.0463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4228,
          "after": 0.0,
          "delta": -0.4228,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1501,
          "after": 0.0,
          "delta": -0.1501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2959,
          "after": 0.328,
          "delta": 0.0321,
          "percent_delta": 0.1085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4823,
          "after": 1.0,
          "delta": 0.5177,
          "percent_delta": 1.0734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4021,
          "after": 0.415,
          "delta": 0.0129,
          "percent_delta": 0.0321,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8281,
          "after": 1.0,
          "delta": 0.1719,
          "percent_delta": 0.2076,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 6,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 1.0,
          "delta": 0.826,
          "percent_delta": 4.7471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4228,
          "after": 0.0,
          "delta": -0.4228,
          "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.251,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.415,
        "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 club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.261,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.261,
          "delta": 0.01,
          "percent_delta": 0.0398,
          "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_OBP",
          "before": 0.328,
          "after": 0.339,
          "delta": 0.011,
          "percent_delta": 0.0335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.431,
          "delta": 0.016,
          "percent_delta": 0.0386,
          "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.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 3.0,
        "predicted_BB": 2.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": 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.256,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.337,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.428,
        "predicted_SO": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.261,
          "after": 0.256,
          "delta": -0.005,
          "percent_delta": -0.0192,
          "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_AVG",
          "before": 0.261,
          "after": 0.256,
          "delta": -0.005,
          "percent_delta": -0.0192,
          "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.198,
        "after": 0.0,
        "delta": -0.198,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.96,
        "after": 3.0,
        "delta": -1.96,
        "percent_delta": -0.3952,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.256,
        "delta": 0.015,
        "percent_delta": 0.0622,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 2.0,
        "delta": 1.611,
        "percent_delta": 4.1414,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.19,
        "after": 1.0,
        "delta": -0.19,
        "percent_delta": -0.1597,
        "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.296,
        "after": 0.337,
        "delta": 0.041,
        "percent_delta": 0.1385,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.611,
        "after": 1.0,
        "delta": 0.389,
        "percent_delta": 0.6367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.435,
        "after": 0.428,
        "delta": -0.007,
        "percent_delta": -0.0161,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 2.0,
        "delta": 1.611,
        "percent_delta": 4.1414,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.96,
        "after": 3.0,
        "delta": -1.96,
        "percent_delta": -0.3952,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.198-
predicted_3B0.019-
predicted_AB4.960-
predicted_AVG0.241-
predicted_BB0.389-
predicted_H1.190-
predicted_HR0.200-
predicted_OBP0.296-
predicted_R0.611-
predicted_RBI0.570-
predicted_SLG0.435-
predicted_SO0.840-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.182-0.016
predicted_3B0.015-0.003
predicted_AB4.551-0.409
predicted_AVG0.2470.006
predicted_BB0.364-0.025
predicted_H1.117-0.073
predicted_HBP0.026-
predicted_HR0.180-0.020
predicted_OBP0.3030.007
predicted_R0.6230.012
predicted_RBI0.527-0.043
predicted_SLG0.426-0.009
predicted_SO0.8830.043
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1820.000
predicted_3B0.0150.000
predicted_AB4.5510.000
predicted_AVG0.240-0.007
predicted_BB0.362-0.002
predicted_H1.092-0.025
predicted_HBP0.0260.000
predicted_HR0.175-0.005
predicted_OBP0.296-0.007
predicted_R0.600-0.023
predicted_RBI0.507-0.020
predicted_SLG0.402-0.024
predicted_SO0.8880.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1740.174
3B0.0150.015
BB0.4230.423
H1.0070.007
HR0.1500.150
RBI0.4820.482
SO0.828-0.172
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.826
3B0.000-0.015
AB4.0000.000
AVG0.251-
BB0.000-0.423
H1.000-0.007
HR0.000-0.150
OBP0.328-
R1.0000.000
RBI1.0000.518
SLG0.415-
SO1.0000.172
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.818
predicted_3B0.000-0.015
predicted_AB4.000-0.551
predicted_AVG0.2510.011
predicted_BB0.000-0.362
predicted_H1.000-0.092
predicted_HR0.000-0.175
predicted_OBP0.3280.032
predicted_R1.0000.400
predicted_RBI1.0000.493
predicted_SLG0.4150.013
predicted_SO1.0000.112
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2610.010
BB1.0001.000
H1.0000.000
HR0.0000.000
OBP0.3390.011
R1.0000.000
RBI1.0000.000
SLG0.4310.016
SO1.0000.000
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
AB3.000-1.000
BB2.0001.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.000-1.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
BB2.0000.000
H1.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: 162
Reference playing time: 4.960
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0003.0000.0000.0001.0002.0004.0001.0006.0000.14290.18180.28570.14290.04760.09520.04760.2857
last_100.2010-40.00011.0002.0000.0001.0004.0006.0003.00010.0000.27500.32560.40000.27500.02500.10000.07500.2500
season0.60162-647.000184.00032.0003.00026.00084.00099.00063.000136.0000.28440.35180.46370.28440.04020.12980.09740.2102
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1610
predicted_3B0.0110
predicted_AB4.0270
predicted_AVG0.2540
predicted_BB0.3320
predicted_H1.0230
predicted_HBP0.0260
predicted_HR0.1550
predicted_OBP0.3123
predicted_R0.6390
predicted_RBI0.4720
predicted_SLG0.4150
predicted_SO0.9380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19800.16100.1818model_form_blend
predicted_3B0.01900.01100.0155model_form_blend
predicted_AB4.96004.02704.5510model_form_blend
predicted_AVG0.24100.25400.2467model_form_blend
predicted_BB0.38900.33200.3640model_form_blend
predicted_H1.19001.02301.1168model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.20000.15500.1803model_form_blend
predicted_OBP0.29600.31230.3031model_form_blend
predicted_R0.61100.63900.6233model_form_blend
predicted_RBI0.57000.47200.5270model_form_blend
predicted_SLG0.43500.41500.4262model_form_blend
predicted_SO0.84000.93800.8830model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB2
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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20261006_MIL@SD
game_typefull
mlbID665487
playerID665487
playerNameFernando Tatis Jr.
posRF
startedTrue
startingPositionRF
teamSD
teamID23
game_date2026-10-06
sl_k_percent18.5
sl_bb_percent9.1
sl_woba0.358
sl_xwoba0.379
sl_xba0.296
sl_xslg0.5
sl_sweet_spot_percent32.2
sl_barrel_batted_rate12.7
sl_hard_hit_percent53.9
sl_exit_velocity_avg92.9
sl_launch_angle_avg5.3
sl_whiff_percent25.9
sl_swing_percent46.1
Jackson Merrill (701538) · BATTER · CF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 645
All-history rows before 20261007: 645
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2646
Diff (system - data): -0.0086
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1600.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0310.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB5.2405.0005.000Hitting_AB4.0024.0000.9981.000
predicted_AVG0.2510.6000.600Hitting_AVG0.2650.2500.3350.350
predicted_BB0.2590.0000.000Hitting_BB0.2760.000-0.2760.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.3103.0003.000Hitting_H1.0591.0001.9412.000
predicted_HR0.1301.0001.000Hitting_HR0.1750.0000.8251.000
predicted_OBP0.3050.6000.600Hitting_OBP0.3140.2500.2860.350
predicted_R0.5431.0001.000Hitting_R0.5781.0000.4220.000
predicted_RBI0.5403.0003.000Hitting_RBI0.6030.0002.3973.000
predicted_SLG0.4081.2001.200Hitting_SLG0.4560.2500.7440.950
predicted_SO1.0311.0001.000Hitting_SO1.0162.000-0.016-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_RBI: 0.5400 -> 3.0000 (boost 2.4600, better)
Biggest Deboostpredicted_BB: 0.2590 -> 0.0000 (deboost -0.2590, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AVG: 0.2510 -> 0.2573 (boost 0.0063, better)predicted_AB: 5.2400 -> 4.6535 (deboost -0.5865, 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.3961 -> 0.3640 (deboost -0.0321, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling70716-predicted_AB: 4.6535 -> 4.0000 (deboost -0.6535, worse)AB rounded to 4 (raw=5.24), rates preserved: AVG=0.215 HR/AB=0.022
6consistency_constraints11010predicted_R: 0.5155 -> 1.0000 (boost 0.4845, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.5538 (boost 0.5538, 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_allocation73443predicted_RBI: 0.5538 -> 1.0000 (boost 0.4462, better)predicted_BB: 0.2698 -> 0.0000 (deboost -0.2698, 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_environment33030predicted_SLG: 0.4060 -> 0.4210 (boost 0.0150, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization44040predicted_H: 1.0000 -> 3.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_final30303-predicted_AVG: 0.2550 -> 0.2350 (deboost -0.0200, 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": "701538",
  "player_name": "Jackson Merrill",
  "position": "CF",
  "team": "SD",
  "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.031,
        "predicted_AB": 5.24,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.259,
        "predicted_H": 1.31,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.305,
        "predicted_R": 0.543,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.031
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1421,
        "predicted_3B": 0.0253,
        "predicted_AB": 4.6535,
        "predicted_AVG": 0.2573,
        "predicted_BB": 0.2494,
        "predicted_H": 1.1896,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.116,
        "predicted_OBP": 0.3067,
        "predicted_R": 0.5356,
        "predicted_RBI": 0.5094,
        "predicted_SLG": 0.3961,
        "predicted_SO": 1.0726
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 5.24,
          "after": 4.6535,
          "delta": -0.5865,
          "percent_delta": -0.1119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2573,
          "delta": 0.0063,
          "percent_delta": 0.0251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.31,
          "after": 1.1896,
          "delta": -0.1204,
          "percent_delta": -0.0919,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.3961,
          "delta": -0.0119,
          "percent_delta": -0.0292,
          "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_AVG",
          "before": 0.251,
          "after": 0.2573,
          "delta": 0.0063,
          "percent_delta": 0.0251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.24,
          "after": 4.6535,
          "delta": -0.5865,
          "percent_delta": -0.1119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 162
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1421,
        "predicted_3B": 0.0253,
        "predicted_AB": 4.6535,
        "predicted_AVG": 0.2499,
        "predicted_BB": 0.2479,
        "predicted_H": 1.1628,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.1127,
        "predicted_OBP": 0.2878,
        "predicted_R": 0.5155,
        "predicted_RBI": 0.4902,
        "predicted_SLG": 0.364,
        "predicted_SO": 1.0791
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2573,
          "after": 0.2499,
          "delta": -0.0074,
          "percent_delta": -0.0288,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3067,
          "after": 0.2878,
          "delta": -0.0189,
          "percent_delta": -0.0616,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3961,
          "after": 0.364,
          "delta": -0.0321,
          "percent_delta": -0.081,
          "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.3961,
          "after": 0.364,
          "delta": -0.0321,
          "percent_delta": -0.081,
          "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.24), rates preserved: AVG=0.215 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.1421,
          "after": 0.0,
          "delta": -0.1421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.6535,
          "after": 4.0,
          "delta": -0.6535,
          "percent_delta": -0.1404,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2479,
          "after": 0.0,
          "delta": -0.2479,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1628,
          "after": 1.0,
          "delta": -0.1628,
          "percent_delta": -0.14,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1127,
          "after": 0.0,
          "delta": -0.1127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4902,
          "after": 0.0,
          "delta": -0.4902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0791,
          "after": 1.0,
          "delta": -0.0791,
          "percent_delta": -0.0733,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.6535,
          "after": 4.0,
          "delta": -0.6535,
          "percent_delta": -0.1404,
          "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.5155,
          "after": 1.0,
          "delta": 0.4845,
          "percent_delta": 0.9399,
          "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.5155,
          "after": 1.0,
          "delta": 0.4845,
          "percent_delta": 0.9399,
          "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.1464,
        "predicted_3B": 0.0227,
        "predicted_BB": 0.2698,
        "predicted_H": 0.9748,
        "predicted_HR": 0.1468,
        "predicted_RBI": 0.5538,
        "predicted_SO": 1.1155
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1464,
          "delta": 0.1464,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2698,
          "delta": 0.2698,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1468,
          "delta": 0.1468,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5538,
          "delta": 0.5538,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1155,
          "delta": 0.1155,
          "percent_delta": 0.1155,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5538,
          "delta": 0.5538,
          "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": 4.0,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1464,
          "after": 0.0,
          "delta": -0.1464,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2698,
          "after": 0.0,
          "delta": -0.2698,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1468,
          "after": 0.0,
          "delta": -0.1468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2878,
          "after": 0.3,
          "delta": 0.0122,
          "percent_delta": 0.0424,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5538,
          "after": 1.0,
          "delta": 0.4462,
          "percent_delta": 0.8057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.364,
          "after": 0.406,
          "delta": 0.042,
          "percent_delta": 0.1154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1155,
          "after": 1.0,
          "delta": -0.1155,
          "percent_delta": -0.1035,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5538,
          "after": 1.0,
          "delta": 0.4462,
          "percent_delta": 0.8057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2698,
          "after": 0.0,
          "delta": -0.2698,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.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": "kpi_run_environment",
      "description": "KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.421,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.255,
          "delta": 0.009,
          "percent_delta": 0.0366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.31,
          "delta": 0.01,
          "percent_delta": 0.0333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.421,
          "delta": 0.015,
          "percent_delta": 0.0369,
          "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.406,
          "after": 0.421,
          "delta": 0.015,
          "percent_delta": 0.0369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.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_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.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_RBI",
          "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": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.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.235,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.292,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 1.0,
        "predicted_TB": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.235,
          "delta": -0.02,
          "percent_delta": -0.0784,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.292,
          "delta": -0.018,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.403,
          "delta": -0.018,
          "percent_delta": -0.0428,
          "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.255,
          "after": 0.235,
          "delta": -0.02,
          "percent_delta": -0.0784,
          "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": 5.24,
        "after": 5.0,
        "delta": -0.24,
        "percent_delta": -0.0458,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.235,
        "delta": -0.016,
        "percent_delta": -0.0637,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.259,
        "after": 0.0,
        "delta": -0.259,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.31,
        "after": 3.0,
        "delta": 1.69,
        "percent_delta": 1.2901,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 1.0,
        "delta": 0.87,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.305,
        "after": 0.292,
        "delta": -0.013,
        "percent_delta": -0.0426,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.543,
        "after": 1.0,
        "delta": 0.457,
        "percent_delta": 0.8416,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 3.0,
        "delta": 2.46,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 3.0,
        "delta": 2.46,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.259,
        "after": 0.0,
        "delta": -0.259,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.031-
predicted_AB5.240-
predicted_AVG0.251-
predicted_BB0.259-
predicted_H1.310-
predicted_HR0.130-
predicted_OBP0.305-
predicted_R0.543-
predicted_RBI0.540-
predicted_SLG0.408-
predicted_SO1.031-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.142-0.018
predicted_3B0.025-0.006
predicted_AB4.654-0.587
predicted_AVG0.2570.006
predicted_BB0.249-0.010
predicted_H1.190-0.120
predicted_HBP0.012-
predicted_HR0.116-0.014
predicted_OBP0.3070.002
predicted_R0.536-0.007
predicted_RBI0.509-0.031
predicted_SLG0.396-0.012
predicted_SO1.0730.042
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1420.000
predicted_3B0.0250.000
predicted_AB4.6540.000
predicted_AVG0.250-0.007
predicted_BB0.248-0.002
predicted_H1.163-0.027
predicted_HBP0.0120.000
predicted_HR0.113-0.003
predicted_OBP0.288-0.019
predicted_R0.515-0.020
predicted_RBI0.490-0.019
predicted_SLG0.364-0.032
predicted_SO1.0790.006
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.24), rates preserved: AVG=0.215 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. 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.1460.146
3B0.0230.023
BB0.2700.270
H0.975-0.025
HR0.1470.147
RBI0.5540.554
SO1.1150.115
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.023
AB4.0000.000
AVG0.246-
BB0.000-0.270
H1.0000.025
HR0.000-0.147
OBP0.300-
R1.0000.000
RBI1.0000.446
SLG0.406-
SO1.000-0.115
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.142
predicted_3B0.000-0.025
predicted_AB4.000-0.654
predicted_AVG0.246-0.004
predicted_BB0.000-0.248
predicted_H1.000-0.163
predicted_HR0.000-0.113
predicted_OBP0.3000.012
predicted_R1.0000.485
predicted_RBI1.0000.510
predicted_SLG0.4060.042
predicted_SO1.000-0.079
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2550.009
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3100.010
R1.0000.000
RBI1.0000.000
SLG0.4210.015
SO1.0000.000
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.0000.000
H3.0002.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI3.0002.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
H3.0000.000
HBP0.0000.000
HR1.0000.000
PA5.0000.000
R1.0000.000
RBI3.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: 162
Reference playing time: 5.240
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0006.0000.0000.0000.0002.0002.0001.0007.0000.30000.33330.30000.30000.00000.10000.05000.3500
last_100.2010-38.00010.0001.0000.0000.0003.0006.0002.00012.0000.26320.30000.28950.26320.00000.07900.05260.3158
season0.60162-633.000162.00026.0005.00026.00089.00088.00042.000167.0000.25590.30400.43600.25590.04110.14060.06640.2638
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1190
predicted_3B0.0180
predicted_AB3.9000
predicted_AVG0.2654
predicted_BB0.2370
predicted_H1.0350
predicted_HBP0.0120
predicted_HR0.0980
predicted_OBP0.3089
predicted_R0.5260
predicted_RBI0.4700
predicted_SLG0.3807
predicted_SO1.1260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.11900.1421model_form_blend
predicted_3B0.03100.01800.0253model_form_blend
predicted_AB5.24003.90004.6535model_form_blend
predicted_AVG0.25100.26540.2573model_form_blend
predicted_BB0.25900.23700.2494model_form_blend
predicted_H1.31001.03501.1896model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.13000.09800.1160model_form_blend
predicted_OBP0.30500.30890.3067model_form_blend
predicted_R0.54300.52600.5356model_form_blend
predicted_RBI0.54000.47000.5094model_form_blend
predicted_SLG0.40800.38070.3961model_form_blend
predicted_SO1.03101.12601.0726model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H3
2B0
3B0
HR1
R1
RBI3
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_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayedCF
gameID20261006_MIL@SD
game_typefull
mlbID701538
playerID701538
playerNameJackson Merrill
posCF
startedTrue
startingPositionCF
teamSD
teamID23
game_date2026-10-06
sl_k_percent24.1
sl_bb_percent6.2
sl_woba0.32
sl_xwoba0.347
sl_xba0.27
sl_xslg0.491
sl_sweet_spot_percent39.8
sl_barrel_batted_rate12.4
sl_hard_hit_percent48.7
sl_exit_velocity_avg91.5
sl_launch_angle_avg14.3
sl_whiff_percent27.6
sl_swing_percent56.1
Manny Machado (592518) · BATTER · 3B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 648
All-history rows before 20261007: 648
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2230
Diff (system - data): -0.0020
System opponent_avg: 0.2420

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1470.0000.000Hitting_2B0.1530.000-0.1530.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7904.0004.000Hitting_AB3.7653.0000.2351.000
predicted_AVG0.2430.0000.000Hitting_AVG0.2230.333-0.223-0.333
predicted_BB0.4970.0000.000Hitting_BB0.5081.000-0.508-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.9200.0000.000Hitting_H0.8401.000-0.840-1.000
predicted_HR0.2000.0000.000Hitting_HR0.1960.000-0.1960.000
predicted_OBP0.3580.0000.000Hitting_OBP0.3120.500-0.312-0.500
predicted_R0.5210.0000.000Hitting_R0.5520.000-0.5520.000
predicted_RBI0.7201.0001.000Hitting_RBI0.6061.0000.3940.000
predicted_SLG0.4620.0000.000Hitting_SLG0.4200.333-0.420-0.333
predicted_SO0.8961.0001.000Hitting_SO0.8970.0000.1031.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics4
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher)
Biggest Deboostpredicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_SLG: 0.4620 -> 0.4796 (boost 0.0176, better)predicted_AB: 3.7900 -> 3.6967 (deboost -0.0933, 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.4796 -> 0.4559 (deboost -0.0237, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling75243predicted_BB: 0.5379 -> 1.0000 (boost 0.4621, better)predicted_HR: 0.1995 -> 0.0000 (deboost -0.1995, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.233 HR/AB=0.053
6consistency_constraints11010predicted_R: 0.5073 -> 1.0000 (boost 0.4927, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.1652 (boost 0.1652, better)predicted_RBI: 1.0000 -> 0.5056 (deboost -0.4944, 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_allocation95445predicted_HR: 0.1652 -> 1.0000 (boost 0.8348, better)predicted_2B: 0.1471 -> 0.0000 (deboost -0.1471, 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_environment33030predicted_SLG: 0.3910 -> 0.4050 (boost 0.0140, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization51404predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher)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_final32121predicted_SLG: 0.4050 -> 0.4170 (boost 0.0120, better)predicted_OBP: 0.3240 -> 0.3140 (deboost -0.0100, 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": "592518",
  "player_name": "Manny Machado",
  "position": "3B",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.147,
        "predicted_3B": 0.0,
        "predicted_AB": 3.79,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.497,
        "predicted_H": 0.92,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.358,
        "predicted_R": 0.521,
        "predicted_RBI": 0.72,
        "predicted_SLG": 0.462,
        "predicted_SO": 0.896
      },
      "changed_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.1759,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6967,
        "predicted_AVG": 0.2523,
        "predicted_BB": 0.5412,
        "predicted_H": 0.9309,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2053,
        "predicted_OBP": 0.3595,
        "predicted_R": 0.5271,
        "predicted_RBI": 0.695,
        "predicted_SLG": 0.4796,
        "predicted_SO": 0.8329
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.6967,
          "delta": -0.0933,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2523,
          "delta": 0.0093,
          "percent_delta": 0.0383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.4796,
          "delta": 0.0176,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.896,
          "after": 0.8329,
          "delta": -0.0631,
          "percent_delta": -0.0704,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.4796,
          "delta": 0.0176,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.6967,
          "delta": -0.0933,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1759,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6967,
        "predicted_AVG": 0.2462,
        "predicted_BB": 0.5379,
        "predicted_H": 0.91,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1995,
        "predicted_OBP": 0.3419,
        "predicted_R": 0.5073,
        "predicted_RBI": 0.6689,
        "predicted_SLG": 0.4559,
        "predicted_SO": 0.838
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2523,
          "after": 0.2462,
          "delta": -0.0061,
          "percent_delta": -0.0242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3595,
          "after": 0.3419,
          "delta": -0.0176,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4796,
          "after": 0.4559,
          "delta": -0.0237,
          "percent_delta": -0.0494,
          "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.4796,
          "after": 0.4559,
          "delta": -0.0237,
          "percent_delta": -0.0494,
          "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.79), rates preserved: AVG=0.233 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.1759,
          "after": 0.0,
          "delta": -0.1759,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6967,
          "after": 4.0,
          "delta": 0.3033,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5379,
          "after": 1.0,
          "delta": 0.4621,
          "percent_delta": 0.8591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 1.0,
          "delta": 0.09,
          "percent_delta": 0.0989,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1995,
          "after": 0.0,
          "delta": -0.1995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6689,
          "after": 1.0,
          "delta": 0.3311,
          "percent_delta": 0.495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.838,
          "after": 1.0,
          "delta": 0.162,
          "percent_delta": 0.1933,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5379,
          "after": 1.0,
          "delta": 0.4621,
          "percent_delta": 0.8591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1995,
          "after": 0.0,
          "delta": -0.1995,
          "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": 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.1471,
        "predicted_3B": 0.0078,
        "predicted_BB": 0.5065,
        "predicted_H": 0.8041,
        "predicted_HR": 0.1652,
        "predicted_RBI": 0.5056,
        "predicted_SO": 0.8539
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1471,
          "delta": 0.1471,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5065,
          "delta": -0.4935,
          "percent_delta": -0.4935,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8041,
          "delta": -0.1959,
          "percent_delta": -0.1959,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1652,
          "delta": 0.1652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5056,
          "delta": -0.4944,
          "percent_delta": -0.4944,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8539,
          "delta": -0.1461,
          "percent_delta": -0.1461,
          "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.1652,
          "delta": 0.1652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5056,
          "delta": -0.4944,
          "percent_delta": -0.4944,
          "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.215,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1471,
          "after": 0.0,
          "delta": -0.1471,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2462,
          "after": 0.215,
          "delta": -0.0312,
          "percent_delta": -0.1267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5065,
          "after": 1.0,
          "delta": 0.4935,
          "percent_delta": 0.9743,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8041,
          "after": 1.0,
          "delta": 0.1959,
          "percent_delta": 0.2436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1652,
          "after": 1.0,
          "delta": 0.8348,
          "percent_delta": 5.0533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3419,
          "after": 0.314,
          "delta": -0.0279,
          "percent_delta": -0.0816,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5056,
          "after": 1.0,
          "delta": 0.4944,
          "percent_delta": 0.9778,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4559,
          "after": 0.391,
          "delta": -0.0649,
          "percent_delta": -0.1424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8539,
          "after": 1.0,
          "delta": 0.1461,
          "percent_delta": 0.1711,
          "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.1652,
          "after": 1.0,
          "delta": 0.8348,
          "percent_delta": 5.0533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1471,
          "after": 0.0,
          "delta": -0.1471,
          "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.391,
        "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 club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "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": 1.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.223,
          "delta": 0.008,
          "percent_delta": 0.0372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.324,
          "delta": 0.01,
          "percent_delta": 0.0318,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.405,
          "delta": 0.014,
          "percent_delta": 0.0358,
          "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.391,
          "after": 0.405,
          "delta": 0.014,
          "percent_delta": 0.0358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 1.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_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_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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
      },
      "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.232,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.417,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.232,
          "delta": 0.009,
          "percent_delta": 0.0404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.314,
          "delta": -0.01,
          "percent_delta": -0.0309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.417,
          "delta": 0.012,
          "percent_delta": 0.0296,
          "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.405,
          "after": 0.417,
          "delta": 0.012,
          "percent_delta": 0.0296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.314,
          "delta": -0.01,
          "percent_delta": -0.0309,
          "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.147,
        "after": 0.0,
        "delta": -0.147,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.79,
        "after": 4.0,
        "delta": 0.21,
        "percent_delta": 0.0554,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.232,
        "delta": -0.011,
        "percent_delta": -0.0453,
        "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_H",
        "before": 0.92,
        "after": 0.0,
        "delta": -0.92,
        "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.358,
        "after": 0.314,
        "delta": -0.044,
        "percent_delta": -0.1229,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.521,
        "after": 0.0,
        "delta": -0.521,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.72,
        "after": 1.0,
        "delta": 0.28,
        "percent_delta": 0.3889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SF",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "higher",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.462,
        "after": 0.417,
        "delta": -0.045,
        "percent_delta": -0.0974,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.896,
        "after": 1.0,
        "delta": 0.104,
        "percent_delta": 0.1161,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 4,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SF",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "higher",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 0.0,
        "delta": -0.92,
        "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.147-
predicted_3B0.000-
predicted_AB3.790-
predicted_AVG0.243-
predicted_BB0.497-
predicted_H0.920-
predicted_HR0.200-
predicted_OBP0.358-
predicted_R0.521-
predicted_RBI0.720-
predicted_SLG0.462-
predicted_SO0.896-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1760.029
predicted_3B0.0000.000
predicted_AB3.697-0.093
predicted_AVG0.2520.009
predicted_BB0.5410.044
predicted_H0.9310.011
predicted_HBP0.005-
predicted_HR0.2050.005
predicted_OBP0.3590.002
predicted_R0.5270.006
predicted_RBI0.695-0.025
predicted_SLG0.4800.018
predicted_SO0.833-0.063
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1760.000
predicted_3B0.0000.000
predicted_AB3.6970.000
predicted_AVG0.246-0.006
predicted_BB0.538-0.003
predicted_H0.910-0.021
predicted_HBP0.0050.000
predicted_HR0.200-0.006
predicted_OBP0.342-0.018
predicted_R0.507-0.020
predicted_RBI0.669-0.026
predicted_SLG0.456-0.024
predicted_SO0.8380.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.79), rates preserved: AVG=0.233 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. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1470.147
3B0.0080.008
BB0.506-0.494
H0.804-0.196
HR0.1650.165
RBI0.506-0.494
SO0.854-0.146
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.147
3B0.000-0.008
AB4.0000.000
AVG0.215-
BB1.0000.494
H1.0000.196
HR1.0000.835
OBP0.314-
R1.0000.000
RBI1.0000.494
SLG0.391-
SO1.0000.146
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.176
predicted_3B0.000-0.000
predicted_AB4.0000.303
predicted_AVG0.215-0.031
predicted_BB1.0000.462
predicted_H1.0000.090
predicted_HR1.0000.800
predicted_OBP0.314-0.028
predicted_R1.0000.493
predicted_RBI1.0000.331
predicted_SLG0.391-0.065
predicted_SO1.0000.162
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2230.008
BB1.0000.000
H1.0000.000
HR1.0000.000
OBP0.3240.010
R1.0000.000
RBI1.0000.000
SLG0.4050.014
SO1.0000.000
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.000-1.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI1.0000.000
SF1.0001.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
PA5.0000.000
R0.0000.000
RBI1.0000.000
SF1.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: 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.0006.0002.0000.0001.0003.0003.0005.0002.0000.37500.52380.68750.37500.06250.18750.31250.1250
last_100.2010-35.00010.0002.0000.0003.00010.0005.0005.0007.0000.28570.36590.60000.28570.08570.28570.14290.2000
season0.60163-605.000134.00024.0000.00031.00094.00085.00081.000146.0000.22150.30990.41490.22150.05120.15540.13390.2413
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2130
predicted_3B0.0010
predicted_AB3.5770
predicted_AVG0.2643
predicted_BB0.5980
predicted_H0.9450
predicted_HBP0.0050
predicted_HR0.2120
predicted_OBP0.3615
predicted_R0.5350
predicted_RBI0.6630
predicted_SLG0.5023
predicted_SO0.7520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14700.21300.1759model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.79003.57703.6967model_form_blend
predicted_AVG0.24300.26430.2523model_form_blend
predicted_BB0.49700.59800.5412model_form_blend
predicted_H0.92000.94500.9309model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.20000.21200.2053model_form_blend
predicted_OBP0.35800.36150.3595model_form_blend
predicted_R0.52100.53500.5271model_form_blend
predicted_RBI0.72000.66300.6950model_form_blend
predicted_SLG0.46200.50230.4796model_form_blend
predicted_SO0.89600.75200.8329model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date648
Season rows before report date648
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
H0
2B0
3B0
HR0
R0
RBI1
BB0
SO1
SF1
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_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261006_MIL@SD
game_typefull
mlbID592518
playerID592518
playerNameManny Machado
pos3B
startedTrue
startingPosition3B
teamSD
teamID23
game_date2026-10-06
sl_k_percent21.3
sl_bb_percent11.2
sl_woba0.31
sl_xwoba0.328
sl_xba0.243
sl_xslg0.42
sl_sweet_spot_percent32.7
sl_barrel_batted_rate9.7
sl_hard_hit_percent43.6
sl_exit_velocity_avg90.1
sl_launch_angle_avg14.5
sl_whiff_percent25.3
sl_swing_percent47.8
Ty France (664034) · BATTER · 1B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 482
All-history rows before 20261007: 482
System season_avg: 0.2980
Data season_avg (2026 season-to-date): 0.3072
Diff (system - data): -0.0092
System opponent_avg: 0.3450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1890.0000.000Hitting_2B0.2140.000-0.2140.000
predicted_3B0.0150.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB4.0105.0005.000Hitting_AB3.6004.0001.4001.000
predicted_AVG0.2630.2000.200Hitting_AVG0.3070.000-0.1070.200
predicted_BB0.2800.0000.000Hitting_BB0.3010.000-0.3010.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.0601.0001.000Hitting_H1.1060.000-0.1061.000
predicted_HR0.1100.0000.000Hitting_HR0.1760.000-0.1760.000
predicted_OBP0.3500.2000.200Hitting_OBP0.3720.000-0.1720.200
predicted_R0.4621.0001.000Hitting_R0.4960.0000.5041.000
predicted_RBI0.5700.0000.000Hitting_RBI0.6000.000-0.6000.000
predicted_SLG0.4210.2000.200Hitting_SLG0.5200.000-0.3200.200
predicted_SO0.8481.0001.000Hitting_SO0.8321.0000.1680.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: 4.0100 -> 5.0000 (boost 0.9900, better)
Biggest Deboostpredicted_RBI: 0.5700 -> 0.0000 (deboost -0.5700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2630 -> 0.2822 (boost 0.0192, better)predicted_AB: 4.0100 -> 3.8394 (deboost -0.1706, 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.3607 -> 0.3198 (deboost -0.0409, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_RBI: 0.5193 -> 1.0000 (boost 0.4807, better)predicted_BB: 0.2503 -> 0.0000 (deboost -0.2503, worse)AB rounded to 4 (raw=4.01), rates preserved: AVG=0.256 HR/AB=0.026
6consistency_constraints10101-predicted_R: 0.4442 -> 0.0000 (deboost -0.4442, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53241predicted_BB: 0.0000 -> 0.3473 (boost 0.3473, better)predicted_RBI: 1.0000 -> 0.5383 (deboost -0.4617, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation73425predicted_RBI: 0.5383 -> 1.0000 (boost 0.4617, better)predicted_BB: 0.3473 -> 0.0000 (deboost -0.3473, 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_environment33030predicted_SLG: 0.4250 -> 0.4420 (boost 0.0170, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization32121predicted_AB: 4.0000 -> 5.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_final30303-predicted_OBP: 0.3310 -> 0.3120 (deboost -0.0190, 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": "664034",
  "player_name": "Ty France",
  "position": "1B",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.189,
        "predicted_3B": 0.015,
        "predicted_AB": 4.01,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.28,
        "predicted_H": 1.06,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.35,
        "predicted_R": 0.462,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.421,
        "predicted_SO": 0.848
      },
      "changed_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.1829,
        "predicted_3B": 0.0128,
        "predicted_AB": 3.8394,
        "predicted_AVG": 0.2822,
        "predicted_BB": 0.2518,
        "predicted_H": 1.0821,
        "predicted_HBP": 0.195,
        "predicted_HR": 0.1061,
        "predicted_OBP": 0.3607,
        "predicted_R": 0.4616,
        "predicted_RBI": 0.5396,
        "predicted_SLG": 0.4312,
        "predicted_SO": 0.8571
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.01,
          "after": 3.8394,
          "delta": -0.1706,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.2822,
          "delta": 0.0192,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.3607,
          "delta": 0.0107,
          "percent_delta": 0.0306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.4312,
          "delta": 0.0102,
          "percent_delta": 0.0242,
          "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.263,
          "after": 0.2822,
          "delta": 0.0192,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.01,
          "after": 3.8394,
          "delta": -0.1706,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1829,
        "predicted_3B": 0.0128,
        "predicted_AB": 3.8394,
        "predicted_AVG": 0.2755,
        "predicted_BB": 0.2503,
        "predicted_H": 1.0578,
        "predicted_HBP": 0.195,
        "predicted_HR": 0.1031,
        "predicted_OBP": 0.3198,
        "predicted_R": 0.4442,
        "predicted_RBI": 0.5193,
        "predicted_SLG": 0.4104,
        "predicted_SO": 0.8623
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2822,
          "after": 0.2755,
          "delta": -0.0067,
          "percent_delta": -0.0237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3607,
          "after": 0.3198,
          "delta": -0.0409,
          "percent_delta": -0.1134,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4312,
          "after": 0.4104,
          "delta": -0.0208,
          "percent_delta": -0.0482,
          "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.3607,
          "after": 0.3198,
          "delta": -0.0409,
          "percent_delta": -0.1134,
          "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.01), rates preserved: AVG=0.256 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1829,
          "after": 0.0,
          "delta": -0.1829,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8394,
          "after": 4.0,
          "delta": 0.1606,
          "percent_delta": 0.0418,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2503,
          "after": 0.0,
          "delta": -0.2503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0578,
          "after": 1.0,
          "delta": -0.0578,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.195,
          "after": 0.0,
          "delta": -0.195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1031,
          "after": 0.0,
          "delta": -0.1031,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5193,
          "after": 1.0,
          "delta": 0.4807,
          "percent_delta": 0.9257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8623,
          "after": 1.0,
          "delta": 0.1377,
          "percent_delta": 0.1597,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5193,
          "after": 1.0,
          "delta": 0.4807,
          "percent_delta": 0.9257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2503,
          "after": 0.0,
          "delta": -0.2503,
          "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.4442,
          "after": 0.0,
          "delta": -0.4442,
          "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.4442,
          "after": 0.0,
          "delta": -0.4442,
          "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.1718,
        "predicted_3B": 0.0143,
        "predicted_BB": 0.3473,
        "predicted_H": 0.9756,
        "predicted_HR": 0.1556,
        "predicted_RBI": 0.5383,
        "predicted_SO": 0.9058
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1718,
          "delta": 0.1718,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3473,
          "delta": 0.3473,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1556,
          "delta": 0.1556,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5383,
          "delta": -0.4617,
          "percent_delta": -0.4617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9058,
          "delta": -0.0942,
          "percent_delta": -0.0942,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3473,
          "delta": 0.3473,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5383,
          "delta": -0.4617,
          "percent_delta": -0.4617,
          "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.425,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1718,
          "after": 0.0,
          "delta": -0.1718,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2755,
          "after": 0.253,
          "delta": -0.0225,
          "percent_delta": -0.0817,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3473,
          "after": 0.0,
          "delta": -0.3473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1556,
          "after": 0.0,
          "delta": -0.1556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5383,
          "after": 1.0,
          "delta": 0.4617,
          "percent_delta": 0.8577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4104,
          "after": 0.425,
          "delta": 0.0146,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9058,
          "after": 1.0,
          "delta": 0.0942,
          "percent_delta": 0.104,
          "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.5383,
          "after": 1.0,
          "delta": 0.4617,
          "percent_delta": 0.8577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3473,
          "after": 0.0,
          "delta": -0.3473,
          "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.425,
        "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 club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.442,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.262,
          "delta": 0.009,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.331,
          "delta": 0.011,
          "percent_delta": 0.0344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.442,
          "delta": 0.017,
          "percent_delta": 0.04,
          "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.425,
          "after": 0.442,
          "delta": 0.017,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "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
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 5.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": 5.0,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.427,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.253,
          "delta": -0.009,
          "percent_delta": -0.0344,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.312,
          "delta": -0.019,
          "percent_delta": -0.0574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.442,
          "after": 0.427,
          "delta": -0.015,
          "percent_delta": -0.0339,
          "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.331,
          "after": 0.312,
          "delta": -0.019,
          "percent_delta": -0.0574,
          "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.189,
        "after": 0.0,
        "delta": -0.189,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.01,
        "after": 5.0,
        "delta": 0.99,
        "percent_delta": 0.2469,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.253,
        "delta": -0.01,
        "percent_delta": -0.038,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "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_HBP",
        "before": 0.195,
        "after": 0.0,
        "delta": -0.195,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.35,
        "after": 0.312,
        "delta": -0.038,
        "percent_delta": -0.1086,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 1.0,
        "delta": 0.538,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.421,
        "after": 0.427,
        "delta": 0.006,
        "percent_delta": 0.0143,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.848,
        "after": 1.0,
        "delta": 0.152,
        "percent_delta": 0.1792,
        "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": 4.01,
        "after": 5.0,
        "delta": 0.99,
        "percent_delta": 0.2469,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "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.189-
predicted_3B0.015-
predicted_AB4.010-
predicted_AVG0.263-
predicted_BB0.280-
predicted_H1.060-
predicted_HR0.110-
predicted_OBP0.350-
predicted_R0.462-
predicted_RBI0.570-
predicted_SLG0.421-
predicted_SO0.848-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.183-0.006
predicted_3B0.013-0.002
predicted_AB3.839-0.171
predicted_AVG0.2820.019
predicted_BB0.252-0.028
predicted_H1.0820.022
predicted_HBP0.195-
predicted_HR0.106-0.004
predicted_OBP0.3610.011
predicted_R0.462-0.000
predicted_RBI0.540-0.030
predicted_SLG0.4310.010
predicted_SO0.8570.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1830.000
predicted_3B0.0130.000
predicted_AB3.8390.000
predicted_AVG0.276-0.007
predicted_BB0.250-0.002
predicted_H1.058-0.024
predicted_HBP0.1950.000
predicted_HR0.103-0.003
predicted_OBP0.320-0.041
predicted_R0.444-0.017
predicted_RBI0.519-0.020
predicted_SLG0.410-0.021
predicted_SO0.8620.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
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.1720.172
3B0.0140.014
BB0.3470.347
H0.976-0.024
HR0.1560.156
RBI0.538-0.462
SO0.906-0.094
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.172
3B0.000-0.014
AB4.0000.000
AVG0.253-
BB0.000-0.347
H1.0000.024
HR0.000-0.156
OBP0.320-
R0.0000.000
RBI1.0000.462
SLG0.425-
SO1.0000.094
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.183
predicted_3B0.000-0.013
predicted_AB4.0000.161
predicted_AVG0.253-0.023
predicted_BB0.000-0.250
predicted_H1.000-0.058
predicted_HR0.000-0.103
predicted_OBP0.3200.000
predicted_R0.000-0.444
predicted_RBI1.0000.481
predicted_SLG0.4250.015
predicted_SO1.0000.138
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2620.009
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3310.011
R0.0000.000
RBI1.0000.000
SLG0.4420.017
SO1.0000.000
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.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.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
AB5.0000.000
BB0.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: 132
Reference playing time: 4.010
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0001.0000.0000.0002.0002.0000.0004.0000.36840.42860.42110.36840.00000.10530.00000.2105
last_100.2010-38.00011.0001.0000.0000.0004.0005.0002.00010.0000.28950.37210.31580.28950.00000.10530.05260.2632
season0.60132-459.000137.00025.0002.00021.00074.00061.00037.000112.0000.29850.36420.49890.29850.04570.16120.08060.2440
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1750
predicted_3B0.0100
predicted_AB3.6170
predicted_AVG0.3073
predicted_BB0.2150
predicted_H1.1110
predicted_HBP0.1950
predicted_HR0.1010
predicted_OBP0.3747
predicted_R0.4610
predicted_RBI0.5000
predicted_SLG0.4446
predicted_SO0.8690
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.17500.1829model_form_blend
predicted_3B0.01500.01000.0128model_form_blend
predicted_AB4.01003.61703.8394model_form_blend
predicted_AVG0.26300.30730.2822model_form_blend
predicted_BB0.28000.21500.2518model_form_blend
predicted_H1.06001.11101.0821model_form_blend
predicted_HBP-0.19500.1950form_only
predicted_HR0.11000.10100.1061model_form_blend
predicted_OBP0.35000.37470.3607model_form_blend
predicted_R0.46200.46100.4616model_form_blend
predicted_RBI0.57000.50000.5396model_form_blend
predicted_SLG0.42100.44460.4312model_form_blend
predicted_SO0.84800.86900.8571model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
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_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
allPositionsPlayed1B
gameID20261006_MIL@SD
game_typefull
mlbID664034
playerID664034
playerNameTy France
pos1B
startedTrue
startingPosition1B
teamSD
teamID23
game_date2026-10-06
sl_k_percent21.6
sl_bb_percent7.4
sl_woba0.373
sl_xwoba0.327
sl_xba0.248
sl_xslg0.421
sl_sweet_spot_percent38.5
sl_barrel_batted_rate9.1
sl_hard_hit_percent47.4
sl_exit_velocity_avg91.5
sl_launch_angle_avg14.6
sl_whiff_percent28.1
sl_swing_percent54.3
Austin Hays (669720) · BATTER · DH · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 57
All-history rows before 20261007: 57
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2595
Diff (system - data): 0.0025
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.0750.0000.000Hitting_2B0.0880.000-0.0880.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6755.0005.000Hitting_AB2.7721.0002.2284.000
predicted_AVG0.2000.2000.200Hitting_AVG0.2590.000-0.0590.200
predicted_BB0.0500.0000.000Hitting_BB0.0880.000-0.0880.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2201.0001.000Hitting_H0.7190.0000.2811.000
predicted_HR0.0300.0000.000Hitting_HR0.0350.000-0.0350.000
predicted_OBP0.2320.2000.200Hitting_OBP0.2800.000-0.0800.200
predicted_R0.3500.0000.000Hitting_R0.5610.000-0.5610.000
predicted_RBI0.1700.0000.000Hitting_RBI0.2110.000-0.2110.000
predicted_SLG0.2830.2000.200Hitting_SLG0.3290.000-0.1290.200
predicted_SO0.7502.0002.000Hitting_SO0.7191.0001.2811.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_AB: 2.6750 -> 5.0000 (boost 2.3250, better)
Biggest Deboostpredicted_R: 0.3500 -> 0.0000 (deboost -0.3500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.2200 -> 0.3864 (boost 0.1664, 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.3001 -> 0.2109 (deboost -0.0892, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_AB: 2.6870 -> 3.0000 (boost 0.3130, better)predicted_H: 0.3777 -> 0.0000 (deboost -0.3777, worse)AB rounded to 3 (raw=2.69), rates preserved: AVG=0.136 HR/AB=0.015
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3436 -> 0.0000 (deboost -0.3436, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4184 (boost 0.4184, better)predicted_H: 1.0000 -> 0.8018 (deboost -0.1982, 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_allocation95445predicted_H: 0.8018 -> 1.0000 (boost 0.1982, better)predicted_RBI: 0.4184 -> 0.0000 (deboost -0.4184, 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_environment33030predicted_SLG: 0.3800 -> 0.3940 (boost 0.0140, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_AB: 3.0000 -> 5.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_final30303-predicted_AVG: 0.2450 -> 0.2380 (deboost -0.0070, 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": "669720",
  "player_name": "Austin Hays",
  "position": "DH",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.075,
        "predicted_3B": 0.0,
        "predicted_AB": 2.675,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.05,
        "predicted_H": 0.22,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.232,
        "predicted_R": 0.35,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.283,
        "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.0704,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.687,
        "predicted_AVG": 0.2155,
        "predicted_BB": 0.0794,
        "predicted_H": 0.3864,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0401,
        "predicted_OBP": 0.249,
        "predicted_R": 0.357,
        "predicted_RBI": 0.2543,
        "predicted_SLG": 0.3001,
        "predicted_SO": 0.7539
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2155,
          "delta": 0.0155,
          "percent_delta": 0.0775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.22,
          "after": 0.3864,
          "delta": 0.1664,
          "percent_delta": 0.7564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.232,
          "after": 0.249,
          "delta": 0.017,
          "percent_delta": 0.0733,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.2543,
          "delta": 0.0843,
          "percent_delta": 0.4959,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.283,
          "after": 0.3001,
          "delta": 0.0171,
          "percent_delta": 0.0604,
          "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.22,
          "after": 0.3864,
          "delta": 0.1664,
          "percent_delta": 0.7564,
          "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": 40
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0704,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.687,
        "predicted_AVG": 0.1406,
        "predicted_BB": 0.0789,
        "predicted_H": 0.3777,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.039,
        "predicted_OBP": 0.1651,
        "predicted_R": 0.3436,
        "predicted_RBI": 0.2447,
        "predicted_SLG": 0.2109,
        "predicted_SO": 0.7585
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2155,
          "after": 0.1406,
          "delta": -0.0749,
          "percent_delta": -0.3476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.249,
          "after": 0.1651,
          "delta": -0.0839,
          "percent_delta": -0.3369,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3001,
          "after": 0.2109,
          "delta": -0.0892,
          "percent_delta": -0.2972,
          "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.3001,
          "after": 0.2109,
          "delta": -0.0892,
          "percent_delta": -0.2972,
          "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.69), rates preserved: AVG=0.136 HR/AB=0.015",
      "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.0704,
          "after": 0.0,
          "delta": -0.0704,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.687,
          "after": 3.0,
          "delta": 0.313,
          "percent_delta": 0.1165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0789,
          "after": 0.0,
          "delta": -0.0789,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3777,
          "after": 0.0,
          "delta": -0.3777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2447,
          "after": 0.0,
          "delta": -0.2447,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7585,
          "after": 1.0,
          "delta": 0.2415,
          "percent_delta": 0.3184,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.687,
          "after": 3.0,
          "delta": 0.313,
          "percent_delta": 0.1165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3777,
          "after": 0.0,
          "delta": -0.3777,
          "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.3436,
          "after": 0.0,
          "delta": -0.3436,
          "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.3436,
          "after": 0.0,
          "delta": -0.3436,
          "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.138,
        "predicted_3B": 0.0111,
        "predicted_BB": 0.2255,
        "predicted_H": 0.8018,
        "predicted_HR": 0.1089,
        "predicted_RBI": 0.4184,
        "predicted_SO": 0.9489
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.138,
          "delta": 0.138,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2255,
          "delta": 0.2255,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8018,
          "delta": -0.1982,
          "percent_delta": -0.1982,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1089,
          "delta": 0.1089,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4184,
          "delta": 0.4184,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9489,
          "delta": -0.0511,
          "percent_delta": -0.0511,
          "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.4184,
          "delta": 0.4184,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8018,
          "delta": -0.1982,
          "percent_delta": -0.1982,
          "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.236,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.138,
          "after": 0.0,
          "delta": -0.138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1406,
          "after": 0.236,
          "delta": 0.0954,
          "percent_delta": 0.6785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2255,
          "after": 0.0,
          "delta": -0.2255,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8018,
          "after": 1.0,
          "delta": 0.1982,
          "percent_delta": 0.2472,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1089,
          "after": 0.0,
          "delta": -0.1089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1651,
          "after": 0.29,
          "delta": 0.1249,
          "percent_delta": 0.7565,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4184,
          "after": 0.0,
          "delta": -0.4184,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2109,
          "after": 0.38,
          "delta": 0.1691,
          "percent_delta": 0.8018,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9489,
          "after": 1.0,
          "delta": 0.0511,
          "percent_delta": 0.0539,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8018,
          "after": 1.0,
          "delta": 0.1982,
          "percent_delta": 0.2472,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4184,
          "after": 0.0,
          "delta": -0.4184,
          "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.236,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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": 10,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.394,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.245,
          "delta": 0.009,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.3,
          "delta": 0.01,
          "percent_delta": 0.0345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.38,
          "after": 0.394,
          "delta": 0.014,
          "percent_delta": 0.0368,
          "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.38,
          "after": 0.394,
          "delta": 0.014,
          "percent_delta": 0.0368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "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_AB",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "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": 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": 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": 5.0,
        "predicted_AVG": 0.238,
        "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.293,
        "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.238,
          "delta": -0.007,
          "percent_delta": -0.0286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.293,
          "delta": -0.007,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.394,
          "after": 0.387,
          "delta": -0.007,
          "percent_delta": -0.0178,
          "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.245,
          "after": 0.238,
          "delta": -0.007,
          "percent_delta": -0.0286,
          "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.075,
        "after": 0.0,
        "delta": -0.075,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.675,
        "after": 5.0,
        "delta": 2.325,
        "percent_delta": 0.8692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.2,
        "after": 0.238,
        "delta": 0.038,
        "percent_delta": 0.19,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.22,
        "after": 1.0,
        "delta": 0.78,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.232,
        "after": 0.293,
        "delta": 0.061,
        "percent_delta": 0.2629,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.283,
        "after": 0.387,
        "delta": 0.104,
        "percent_delta": 0.3675,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 2.0,
        "delta": 1.25,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.675,
        "after": 5.0,
        "delta": 2.325,
        "percent_delta": 0.8692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "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.075-
predicted_3B0.000-
predicted_AB2.675-
predicted_AVG0.200-
predicted_BB0.050-
predicted_H0.220-
predicted_HR0.030-
predicted_OBP0.232-
predicted_R0.350-
predicted_RBI0.170-
predicted_SLG0.283-
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.070-0.005
predicted_3B0.0010.001
predicted_AB2.6870.012
predicted_AVG0.2150.015
predicted_BB0.0790.029
predicted_H0.3860.166
predicted_HBP0.005-
predicted_HR0.0400.010
predicted_OBP0.2490.017
predicted_R0.3570.007
predicted_RBI0.2540.084
predicted_SLG0.3000.017
predicted_SO0.7540.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.0700.000
predicted_3B0.0010.000
predicted_AB2.6870.000
predicted_AVG0.141-0.075
predicted_BB0.079-0.001
predicted_H0.378-0.009
predicted_HBP0.0050.000
predicted_HR0.039-0.001
predicted_OBP0.165-0.084
predicted_R0.344-0.013
predicted_RBI0.245-0.010
predicted_SLG0.211-0.089
predicted_SO0.7580.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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.1380.138
3B0.0110.011
BB0.2260.226
H0.802-0.198
HR0.1090.109
RBI0.4180.418
SO0.949-0.051
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.138
3B0.000-0.011
AB3.0000.000
AVG0.236-
BB0.000-0.226
H1.0000.198
HR0.000-0.109
OBP0.290-
R0.0000.000
RBI0.000-0.418
SLG0.380-
SO1.0000.051
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.070
predicted_3B0.000-0.001
predicted_AB3.0000.313
predicted_AVG0.2360.095
predicted_BB0.000-0.079
predicted_H1.0000.622
predicted_HR0.000-0.039
predicted_OBP0.2900.125
predicted_R0.000-0.344
predicted_RBI0.000-0.245
predicted_SLG0.3800.169
predicted_SO1.0000.242
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2450.009
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3000.010
R0.0000.000
RBI0.0000.000
SLG0.3940.014
SO1.0000.000
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.0002.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.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
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
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 40
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0002.0000.0000.0000.0002.0002.0001.0004.0000.18180.25000.18180.18180.00000.18180.09090.3636
last_100.2010-18.0004.0000.0000.0000.0003.0002.0001.0005.0000.22220.26320.22220.22220.00000.16670.05560.2778
season0.6040-107.00028.0003.0000.0003.00014.00014.0002.00030.0000.26170.27520.37380.26170.02800.13080.01870.2804
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0630
predicted_3B0.0020
predicted_AB2.7060
predicted_AVG0.2400
predicted_BB0.1260
predicted_H0.6500
predicted_HBP0.0050
predicted_HR0.0560
predicted_OBP0.2759
predicted_R0.3680
predicted_RBI0.3880
predicted_SLG0.3271
predicted_SO0.7600
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07500.06300.0704model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.67502.70602.6870model_form_blend
predicted_AVG0.20000.24000.2155model_form_blend
predicted_BB0.05000.12600.0794model_form_blend
predicted_H0.22000.65000.3864model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.03000.05600.0401model_form_blend
predicted_OBP0.23200.27590.2490model_form_blend
predicted_R0.35000.36800.3570model_form_blend
predicted_RBI0.17000.38800.2543model_form_blend
predicted_SLG0.28300.32710.3001model_form_blend
predicted_SO0.75000.76000.7539model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20261004_SD@MIL
game_typeph
mlbID669720
noteStruck out for Sheets in the 6th.
playerID669720
playerNameAustin Hays
posDH
startedFalse
startingPositionPH
teamSD
teamID23
game_date2026-10-04
sl_k_percent25.7
sl_bb_percent3.8
sl_woba0.304
sl_xwoba0.295
sl_xba0.278
sl_xslg0.383
sl_sweet_spot_percent35.1
sl_barrel_batted_rate4.1
sl_hard_hit_percent41.9
sl_exit_velocity_avg87.5
sl_launch_angle_avg4.9
sl_whiff_percent33.8
sl_swing_percent53.8
Xander Bogaerts (593428) · BATTER · SS · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 588
All-history rows before 20261007: 588
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2358
Diff (system - data): -0.0008
System opponent_avg: 0.1850

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1200.0000.000Hitting_2B0.1260.000-0.1260.000
predicted_3B0.0060.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.3994.0004.000Hitting_AB3.5053.0000.4951.000
predicted_AVG0.2650.0000.000Hitting_AVG0.2360.333-0.236-0.333
predicted_BB0.5000.0000.000Hitting_BB0.5170.000-0.5170.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.8700.0000.000Hitting_H0.8271.000-0.827-1.000
predicted_HR0.1000.0000.000Hitting_HR0.0900.000-0.0900.000
predicted_OBP0.3640.0000.000Hitting_OBP0.3350.333-0.335-0.333
predicted_R0.4560.0000.000Hitting_R0.4561.000-0.456-1.000
predicted_RBI0.3500.0000.000Hitting_RBI0.4230.000-0.4230.000
predicted_SLG0.4240.0000.000Hitting_SLG0.3540.333-0.354-0.333
predicted_SO0.7151.0001.000Hitting_SO0.7211.0000.2790.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.3990 -> 4.0000 (boost 0.6010, better)
Biggest Deboostpredicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_R: 0.4560 -> 0.5080 (boost 0.0520, 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.4312 -> 0.3990 (deboost -0.0322, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.7286 -> 1.0000 (boost 0.2714, worse)predicted_BB: 0.4948 -> 0.0000 (deboost -0.4948, worse)AB rounded to 3 (raw=3.40), rates preserved: AVG=0.249 HR/AB=0.033
6consistency_constraints10101-predicted_R: 0.4889 -> 0.0000 (deboost -0.4889, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.5036 (boost 0.5036, better)predicted_SO: 1.0000 -> 0.6928 (deboost -0.3072, 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_allocation103746predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 0.6928 -> 0.0000 (deboost -0.6928, 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_environment33030predicted_SLG: 0.3450 -> 0.3580 (boost 0.0130, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization52314predicted_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_final32121predicted_SLG: 0.3580 -> 0.3650 (boost 0.0070, better)predicted_OBP: 0.3350 -> 0.3220 (deboost -0.0130, 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": "593428",
  "player_name": "Xander Bogaerts",
  "position": "SS",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.12,
        "predicted_3B": 0.006,
        "predicted_AB": 3.399,
        "predicted_AVG": 0.265,
        "predicted_BB": 0.5,
        "predicted_H": 0.87,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.364,
        "predicted_R": 0.456,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.424,
        "predicted_SO": 0.715
      },
      "changed_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.1261,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.3737,
        "predicted_AVG": 0.2701,
        "predicted_BB": 0.4978,
        "predicted_H": 0.8936,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1153,
        "predicted_OBP": 0.3669,
        "predicted_R": 0.508,
        "predicted_RBI": 0.3579,
        "predicted_SLG": 0.4312,
        "predicted_SO": 0.7242
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2701,
          "delta": 0.0051,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.456,
          "after": 0.508,
          "delta": 0.052,
          "percent_delta": 0.114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4312,
          "delta": 0.0072,
          "percent_delta": 0.017,
          "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_R",
          "before": 0.456,
          "after": 0.508,
          "delta": 0.052,
          "percent_delta": 0.114,
          "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": 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.1261,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.3737,
        "predicted_AVG": 0.2589,
        "predicted_BB": 0.4948,
        "predicted_H": 0.8735,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1121,
        "predicted_OBP": 0.3537,
        "predicted_R": 0.4889,
        "predicted_RBI": 0.3444,
        "predicted_SLG": 0.399,
        "predicted_SO": 0.7286
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2701,
          "after": 0.2589,
          "delta": -0.0112,
          "percent_delta": -0.0415,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3669,
          "after": 0.3537,
          "delta": -0.0132,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4312,
          "after": 0.399,
          "delta": -0.0322,
          "percent_delta": -0.0747,
          "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.4312,
          "after": 0.399,
          "delta": -0.0322,
          "percent_delta": -0.0747,
          "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.40), rates preserved: AVG=0.249 HR/AB=0.033",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1261,
          "after": 0.0,
          "delta": -0.1261,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.3737,
          "after": 3.0,
          "delta": -0.3737,
          "percent_delta": -0.1108,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4948,
          "after": 0.0,
          "delta": -0.4948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8735,
          "after": 1.0,
          "delta": 0.1265,
          "percent_delta": 0.1448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1121,
          "after": 0.0,
          "delta": -0.1121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3444,
          "after": 0.0,
          "delta": -0.3444,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7286,
          "after": 1.0,
          "delta": 0.2714,
          "percent_delta": 0.3725,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7286,
          "after": 1.0,
          "delta": 0.2714,
          "percent_delta": 0.3725,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4948,
          "after": 0.0,
          "delta": -0.4948,
          "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_R",
          "before": 0.4889,
          "after": 0.0,
          "delta": -0.4889,
          "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.4889,
          "after": 0.0,
          "delta": -0.4889,
          "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.1316,
        "predicted_3B": 0.0098,
        "predicted_BB": 0.5036,
        "predicted_H": 0.766,
        "predicted_HR": 0.0932,
        "predicted_RBI": 0.3591,
        "predicted_SO": 0.6928
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1316,
          "delta": 0.1316,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5036,
          "delta": 0.5036,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.766,
          "delta": -0.234,
          "percent_delta": -0.234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0932,
          "delta": 0.0932,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3591,
          "delta": 0.3591,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6928,
          "delta": -0.3072,
          "percent_delta": -0.3072,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5036,
          "delta": 0.5036,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6928,
          "delta": -0.3072,
          "percent_delta": -0.3072,
          "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.221,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1316,
          "after": 0.0,
          "delta": -0.1316,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2589,
          "after": 0.221,
          "delta": -0.0379,
          "percent_delta": -0.1464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5036,
          "after": 1.0,
          "delta": 0.4964,
          "percent_delta": 0.9857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.766,
          "after": 1.0,
          "delta": 0.234,
          "percent_delta": 0.3055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0932,
          "after": 0.0,
          "delta": -0.0932,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3537,
          "after": 0.324,
          "delta": -0.0297,
          "percent_delta": -0.084,
          "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.3591,
          "after": 0.0,
          "delta": -0.3591,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.345,
          "delta": -0.054,
          "percent_delta": -0.1353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6928,
          "after": 0.0,
          "delta": -0.6928,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 3,
        "deboosted_metrics": 7,
        "better_metrics": 4,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6928,
          "after": 0.0,
          "delta": -0.6928,
          "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.221,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.345,
        "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 club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.229,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.335,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.358,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.229,
          "delta": 0.008,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.335,
          "delta": 0.011,
          "percent_delta": 0.034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.358,
          "delta": 0.013,
          "percent_delta": 0.0377,
          "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.345,
          "after": 0.358,
          "delta": 0.013,
          "percent_delta": 0.0377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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
        },
        {
          "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_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_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": 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.235,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.235,
          "delta": 0.006,
          "percent_delta": 0.0262,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.322,
          "delta": -0.013,
          "percent_delta": -0.0388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.358,
          "after": 0.365,
          "delta": 0.007,
          "percent_delta": 0.0196,
          "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.358,
          "after": 0.365,
          "delta": 0.007,
          "percent_delta": 0.0196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.322,
          "delta": -0.013,
          "percent_delta": -0.0388,
          "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.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.399,
        "after": 4.0,
        "delta": 0.601,
        "percent_delta": 0.1768,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.265,
        "after": 0.235,
        "delta": -0.03,
        "percent_delta": -0.1132,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.364,
        "after": 0.322,
        "delta": -0.042,
        "percent_delta": -0.1154,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.456,
        "after": 0.0,
        "delta": -0.456,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.424,
        "after": 0.365,
        "delta": -0.059,
        "percent_delta": -0.1392,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.715,
        "after": 1.0,
        "delta": 0.285,
        "percent_delta": 0.3986,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.399,
        "after": 4.0,
        "delta": 0.601,
        "percent_delta": 0.1768,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.120-
predicted_3B0.006-
predicted_AB3.399-
predicted_AVG0.265-
predicted_BB0.500-
predicted_H0.870-
predicted_HR0.100-
predicted_OBP0.364-
predicted_R0.456-
predicted_RBI0.350-
predicted_SLG0.424-
predicted_SO0.715-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1260.006
predicted_3B0.005-0.001
predicted_AB3.374-0.025
predicted_AVG0.2700.005
predicted_BB0.498-0.002
predicted_H0.8940.024
predicted_HBP0.016-
predicted_HR0.1150.015
predicted_OBP0.3670.003
predicted_R0.5080.052
predicted_RBI0.3580.008
predicted_SLG0.4310.007
predicted_SO0.7240.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1260.000
predicted_3B0.0050.000
predicted_AB3.3740.000
predicted_AVG0.259-0.011
predicted_BB0.495-0.003
predicted_H0.874-0.020
predicted_HBP0.0160.000
predicted_HR0.112-0.003
predicted_OBP0.354-0.013
predicted_R0.489-0.019
predicted_RBI0.344-0.014
predicted_SLG0.399-0.032
predicted_SO0.7290.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.40), rates preserved: AVG=0.249 HR/AB=0.033

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1320.132
3B0.0100.010
BB0.5040.504
H0.766-0.234
HR0.0930.093
RBI0.3590.359
SO0.693-0.307
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.132
3B0.000-0.010
AB3.0000.000
AVG0.221-
BB1.0000.496
H1.0000.234
HR0.000-0.093
OBP0.324-
R1.0001.000
RBI0.000-0.359
SLG0.345-
SO0.000-0.693
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.126
predicted_3B0.000-0.005
predicted_AB3.000-0.374
predicted_AVG0.221-0.038
predicted_BB1.0000.505
predicted_H1.0000.126
predicted_HR0.000-0.112
predicted_OBP0.324-0.030
predicted_R1.0000.511
predicted_RBI0.000-0.344
predicted_SLG0.345-0.054
predicted_SO0.000-0.729
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2290.008
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3350.011
R1.0000.000
RBI0.0000.000
SLG0.3580.013
SO0.0000.000
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
RBI0.0000.000
SF0.0000.000
SO1.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
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: 158
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.0001.0002.0004.0002.0004.0000.35290.42110.58820.35290.05880.11770.11770.2353
last_100.2010-30.00010.0001.0000.0002.0003.0007.0006.0007.0000.33330.44440.56670.33330.06670.10000.20000.2333
season0.60158-537.000126.00019.0001.00014.00059.00072.00079.000113.0000.23460.33440.35200.23460.02610.10990.14710.2104
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1340
predicted_3B0.0040
predicted_AB3.3410
predicted_AVG0.2766
predicted_BB0.4950
predicted_H0.9240
predicted_HBP0.0160
predicted_HR0.1350
predicted_OBP0.3706
predicted_R0.5750
predicted_RBI0.3680
predicted_SLG0.4406
predicted_SO0.7360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12000.13400.1261model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.39903.34103.3737model_form_blend
predicted_AVG0.26500.27660.2701model_form_blend
predicted_BB0.50000.49500.4978model_form_blend
predicted_H0.87000.92400.8936model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.10000.13500.1153model_form_blend
predicted_OBP0.36400.37060.3669model_form_blend
predicted_R0.45600.57500.5080model_form_blend
predicted_RBI0.35000.36800.3579model_form_blend
predicted_SLG0.42400.44060.4312model_form_blend
predicted_SO0.71500.73600.7242model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date588
Season rows before report date588
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
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_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261006_MIL@SD
game_typefull
mlbID593428
playerID593428
playerNameXander Bogaerts
posSS
startedTrue
startingPositionSS
teamSD
teamID23
game_date2026-10-06
sl_k_percent18.0
sl_bb_percent12.7
sl_woba0.306
sl_xwoba0.325
sl_xba0.248
sl_xslg0.376
sl_sweet_spot_percent27.9
sl_barrel_batted_rate5.5
sl_hard_hit_percent42.3
sl_exit_velocity_avg89.6
sl_launch_angle_avg6.7
sl_whiff_percent23.1
sl_swing_percent41.5
Luis Campusano (669134) · BATTER · C · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 236
All-history rows before 20261007: 236
System season_avg: 0.2680
Data season_avg (2026 season-to-date): 0.2632
Diff (system - data): 0.0048
System opponent_avg: 0.5450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1641.0001.000Hitting_2B0.1860.0000.8141.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4404.0004.000Hitting_AB3.2842.0000.7162.000
predicted_AVG0.2520.2500.250Hitting_AVG0.2630.500-0.013-0.250
predicted_BB0.4250.0000.000Hitting_BB0.4321.000-0.432-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8701.0001.000Hitting_H0.8641.0000.1360.000
predicted_HR0.1000.0000.000Hitting_HR0.1190.000-0.1190.000
predicted_OBP0.3580.2500.250Hitting_OBP0.3580.667-0.108-0.417
predicted_R0.3560.0000.000Hitting_R0.3561.000-0.356-1.000
predicted_RBI0.4301.0001.000Hitting_RBI0.4750.0000.5251.000
predicted_SLG0.3680.5000.500Hitting_SLG0.4280.5000.0720.000
predicted_SO0.7260.0000.000Hitting_SO0.7970.000-0.7970.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_2B: 0.1640 -> 1.0000 (boost 0.8360, better)
Biggest Deboostpredicted_SO: 0.7260 -> 0.0000 (deboost -0.7260, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 3.4400 -> 3.3435 (deboost -0.0965, 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.3570 -> 0.3361 (deboost -0.0209, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_AB: 3.3435 -> 4.0000 (boost 0.6565, better)predicted_BB: 0.4366 -> 0.0000 (deboost -0.4366, worse)AB rounded to 4 (raw=3.44), rates preserved: AVG=0.235 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.3770 -> 0.0000 (deboost -0.3770, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4704 (boost 0.4704, better)predicted_SO: 1.0000 -> 0.8029 (deboost -0.1971, 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_allocation94536predicted_BB: 0.4704 -> 1.0000 (boost 0.5296, better)predicted_RBI: 0.4333 -> 0.0000 (deboost -0.4333, 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_environment33030predicted_SLG: 0.3830 -> 0.3980 (boost 0.0150, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization42231predicted_2B: 0.0000 -> 1.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_final30303-predicted_OBP: 0.3400 -> 0.2930 (deboost -0.0470, 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": "669134",
  "player_name": "Luis Campusano",
  "position": "C",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.0,
        "predicted_AB": 3.44,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.425,
        "predicted_H": 0.87,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.358,
        "predicted_R": 0.356,
        "predicted_RBI": 0.43,
        "predicted_SLG": 0.368,
        "predicted_SO": 0.726
      },
      "changed_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.1405,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.3435,
        "predicted_AVG": 0.2548,
        "predicted_BB": 0.4393,
        "predicted_H": 0.8532,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.0958,
        "predicted_OBP": 0.357,
        "predicted_R": 0.3917,
        "predicted_RBI": 0.4204,
        "predicted_SLG": 0.3717,
        "predicted_SO": 0.6815
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.44,
          "after": 3.3435,
          "delta": -0.0965,
          "percent_delta": -0.0281,
          "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": 3.44,
          "after": 3.3435,
          "delta": -0.0965,
          "percent_delta": -0.0281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 73
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1405,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.3435,
        "predicted_AVG": 0.2494,
        "predicted_BB": 0.4366,
        "predicted_H": 0.834,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.0931,
        "predicted_OBP": 0.3361,
        "predicted_R": 0.377,
        "predicted_RBI": 0.4046,
        "predicted_SLG": 0.3752,
        "predicted_SO": 0.6857
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2548,
          "after": 0.2494,
          "delta": -0.0054,
          "percent_delta": -0.0212,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.357,
          "after": 0.3361,
          "delta": -0.0209,
          "percent_delta": -0.0585,
          "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.357,
          "after": 0.3361,
          "delta": -0.0209,
          "percent_delta": -0.0585,
          "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.235 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.1405,
          "after": 0.0,
          "delta": -0.1405,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.3435,
          "after": 4.0,
          "delta": 0.6565,
          "percent_delta": 0.1964,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4366,
          "after": 0.0,
          "delta": -0.4366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.834,
          "after": 1.0,
          "delta": 0.166,
          "percent_delta": 0.199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0931,
          "after": 0.0,
          "delta": -0.0931,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4046,
          "after": 0.0,
          "delta": -0.4046,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6857,
          "after": 1.0,
          "delta": 0.3143,
          "percent_delta": 0.4584,
          "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.3435,
          "after": 4.0,
          "delta": 0.6565,
          "percent_delta": 0.1964,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4366,
          "after": 0.0,
          "delta": -0.4366,
          "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.377,
          "after": 0.0,
          "delta": -0.377,
          "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.377,
          "after": 0.0,
          "delta": -0.377,
          "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.1534,
        "predicted_3B": 0.0101,
        "predicted_BB": 0.4704,
        "predicted_H": 0.8336,
        "predicted_HR": 0.1185,
        "predicted_RBI": 0.4333,
        "predicted_SO": 0.8029
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1534,
          "delta": 0.1534,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4704,
          "delta": 0.4704,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8336,
          "delta": -0.1664,
          "percent_delta": -0.1664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1185,
          "delta": 0.1185,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4333,
          "delta": 0.4333,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8029,
          "delta": -0.1971,
          "percent_delta": -0.1971,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4704,
          "delta": 0.4704,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8029,
          "delta": -0.1971,
          "percent_delta": -0.1971,
          "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.234,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.383,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1534,
          "after": 0.0,
          "delta": -0.1534,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2494,
          "after": 0.234,
          "delta": -0.0154,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4704,
          "after": 1.0,
          "delta": 0.5296,
          "percent_delta": 1.1259,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8336,
          "after": 1.0,
          "delta": 0.1664,
          "percent_delta": 0.1996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1185,
          "after": 0.0,
          "delta": -0.1185,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3361,
          "after": 0.329,
          "delta": -0.0071,
          "percent_delta": -0.0211,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4333,
          "after": 0.0,
          "delta": -0.4333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3752,
          "after": 0.383,
          "delta": 0.0078,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8029,
          "after": 1.0,
          "delta": 0.1971,
          "percent_delta": 0.2455,
          "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.4704,
          "after": 1.0,
          "delta": 0.5296,
          "percent_delta": 1.1259,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4333,
          "after": 0.0,
          "delta": -0.4333,
          "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.234,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.383,
        "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 club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.243,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.34,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.398,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.243,
          "delta": 0.009,
          "percent_delta": 0.0385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.34,
          "delta": 0.011,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.398,
          "delta": 0.015,
          "percent_delta": 0.0392,
          "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.383,
          "after": 0.398,
          "delta": 0.015,
          "percent_delta": 0.0392,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 1.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_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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 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.218,
        "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.293,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.367,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.218,
          "delta": -0.025,
          "percent_delta": -0.1029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.34,
          "after": 0.293,
          "delta": -0.047,
          "percent_delta": -0.1382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.398,
          "after": 0.367,
          "delta": -0.031,
          "percent_delta": -0.0779,
          "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.34,
          "after": 0.293,
          "delta": -0.047,
          "percent_delta": -0.1382,
          "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.164,
        "after": 1.0,
        "delta": 0.836,
        "percent_delta": 5.0976,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.44,
        "after": 4.0,
        "delta": 0.56,
        "percent_delta": 0.1628,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.218,
        "delta": -0.034,
        "percent_delta": -0.1349,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.425,
        "after": 0.0,
        "delta": -0.425,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.358,
        "after": 0.293,
        "delta": -0.065,
        "percent_delta": -0.1816,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.356,
        "after": 0.0,
        "delta": -0.356,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.43,
        "after": 1.0,
        "delta": 0.57,
        "percent_delta": 1.3256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.726,
        "after": 0.0,
        "delta": -0.726,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.164,
        "after": 1.0,
        "delta": 0.836,
        "percent_delta": 5.0976,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.726,
        "after": 0.0,
        "delta": -0.726,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.164-
predicted_3B0.000-
predicted_AB3.440-
predicted_AVG0.252-
predicted_BB0.425-
predicted_H0.870-
predicted_HR0.100-
predicted_OBP0.358-
predicted_R0.356-
predicted_RBI0.430-
predicted_SLG0.368-
predicted_SO0.726-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.141-0.023
predicted_3B0.0000.000
predicted_AB3.344-0.096
predicted_AVG0.2550.003
predicted_BB0.4390.014
predicted_H0.853-0.017
predicted_HBP0.026-
predicted_HR0.096-0.004
predicted_OBP0.357-0.001
predicted_R0.3920.036
predicted_RBI0.420-0.010
predicted_SLG0.3720.004
predicted_SO0.681-0.044
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1410.000
predicted_3B0.0000.000
predicted_AB3.3440.000
predicted_AVG0.249-0.005
predicted_BB0.437-0.003
predicted_H0.834-0.019
predicted_HBP0.0260.000
predicted_HR0.093-0.003
predicted_OBP0.336-0.021
predicted_R0.377-0.015
predicted_RBI0.405-0.016
predicted_SLG0.3750.004
predicted_SO0.6860.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.44), rates preserved: AVG=0.235 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.1530.153
3B0.0100.010
BB0.4700.470
H0.834-0.166
HR0.1180.118
RBI0.4330.433
SO0.803-0.197
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.010
AB4.0000.000
AVG0.234-
BB1.0000.530
H1.0000.166
HR0.000-0.118
OBP0.329-
R0.0000.000
RBI0.000-0.433
SLG0.383-
SO1.0000.197
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.141
predicted_3B0.000-0.000
predicted_AB4.0000.656
predicted_AVG0.234-0.015
predicted_BB1.0000.563
predicted_H1.0000.166
predicted_HR0.000-0.093
predicted_OBP0.329-0.007
predicted_R0.000-0.377
predicted_RBI0.000-0.405
predicted_SLG0.3830.008
predicted_SO1.0000.314
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2430.009
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3400.011
R0.0000.000
RBI0.0000.000
SLG0.3980.015
SO1.0000.000
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
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI1.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
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
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: 73
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0004.0000.0000.0000.0002.0003.0003.0001.0000.26670.38890.26670.26670.00000.13330.20000.0667
last_100.2010-35.0008.0000.0000.0001.0003.0005.0005.0006.0000.22860.32500.31430.22860.02860.08570.14290.1714
season0.6073-224.00060.00012.0000.0008.00031.00026.00031.00053.0000.26790.36430.42860.26790.03570.13840.13840.2366
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1080
predicted_3B0.0010
predicted_AB3.2100
predicted_AVG0.2586
predicted_BB0.4590
predicted_H0.8300
predicted_HBP0.0260
predicted_HR0.0900
predicted_OBP0.3555
predicted_R0.4410
predicted_RBI0.4070
predicted_SLG0.3769
predicted_SO0.6200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.10800.1405model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.44003.21003.3435model_form_blend
predicted_AVG0.25200.25860.2548model_form_blend
predicted_BB0.42500.45900.4393model_form_blend
predicted_H0.87000.83000.8532model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.10000.09000.0958model_form_blend
predicted_OBP0.35800.35550.3570model_form_blend
predicted_R0.35600.44100.3917model_form_blend
predicted_RBI0.43000.40700.4204model_form_blend
predicted_SLG0.36800.37690.3717model_form_blend
predicted_SO0.72600.62000.6815model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
3B0
HR0
R0
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_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_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
gameID20261004_SD@MIL
game_typefull
mlbID669134
playerID669134
playerNameLuis Campusano
posC
startedTrue
startingPositionC
teamSD
teamID23
game_date2026-10-04
sl_k_percent21.4
sl_bb_percent12.1
sl_woba0.353
sl_xwoba0.327
sl_xba0.239
sl_xslg0.391
sl_sweet_spot_percent37.7
sl_barrel_batted_rate8.1
sl_hard_hit_percent37.7
sl_exit_velocity_avg87.3
sl_launch_angle_avg16.3
sl_whiff_percent26.0
sl_swing_percent46.6
Jake Cronenworth (630105) · BATTER · 2B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 405
All-history rows before 20261007: 405
System season_avg: 0.2240
Data season_avg (2026 season-to-date): 0.2324
Diff (system - data): -0.0084
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.1150.0000.000Hitting_2B0.1230.000-0.1230.000
predicted_3B0.0090.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.4694.0004.000Hitting_AB3.6772.0000.3232.000
predicted_AVG0.2230.0000.000Hitting_AVG0.2321.000-0.232-1.000
predicted_BB0.3360.0000.000Hitting_BB0.3680.000-0.3680.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.7500.0000.000Hitting_H0.8542.000-0.854-2.000
predicted_HR0.1400.0000.000Hitting_HR0.0591.000-0.059-1.000
predicted_OBP0.3150.0000.000Hitting_OBP0.3111.000-0.311-1.000
predicted_R0.4160.0000.000Hitting_R0.4571.000-0.457-1.000
predicted_RBI0.4700.0000.000Hitting_RBI0.3581.000-0.358-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0810.000-0.0810.000
predicted_SLG0.4970.0000.000Hitting_SLG0.3212.500-0.321-2.500
predicted_SO0.8852.0002.000Hitting_SO0.9210.0001.0792.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: 0.8850 -> 2.0000 (boost 1.1150, worse)
Biggest Deboostpredicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_SLG: 0.4970 -> 0.4307 (deboost -0.0663, 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.4307 -> 0.3540 (deboost -0.0767, 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_H: 0.7200 -> 1.0000 (boost 0.2800, better)predicted_RBI: 0.4466 -> 0.0000 (deboost -0.4466, worse)AB rounded to 3 (raw=3.47), rates preserved: AVG=0.201 HR/AB=0.035
6consistency_constraints10101-predicted_R: 0.3663 -> 0.0000 (deboost -0.3663, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3831 (boost 0.3831, better)predicted_H: 1.0000 -> 0.7602 (deboost -0.2398, 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_allocation93627predicted_SO: 0.8833 -> 1.0000 (boost 0.1167, worse)predicted_H: 0.7602 -> 0.0000 (deboost -0.7602, 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_environment33030predicted_SLG: 0.3390 -> 0.3520 (boost 0.0130, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_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_AVG: 0.2350 -> 0.2120 (deboost -0.0230, 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": "630105",
  "player_name": "Jake Cronenworth",
  "position": "2B",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.115,
        "predicted_3B": 0.009,
        "predicted_AB": 3.469,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.336,
        "predicted_H": 0.75,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.315,
        "predicted_R": 0.416,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.497,
        "predicted_SO": 0.885
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0077,
        "predicted_AB": 3.4103,
        "predicted_AVG": 0.2198,
        "predicted_BB": 0.2933,
        "predicted_H": 0.7366,
        "predicted_HBP": 0.122,
        "predicted_HR": 0.1258,
        "predicted_OBP": 0.3049,
        "predicted_R": 0.3806,
        "predicted_RBI": 0.464,
        "predicted_SLG": 0.4307,
        "predicted_SO": 0.8617
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.469,
          "after": 3.4103,
          "delta": -0.0587,
          "percent_delta": -0.0169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3049,
          "delta": -0.0101,
          "percent_delta": -0.0321,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.497,
          "after": 0.4307,
          "delta": -0.0663,
          "percent_delta": -0.1334,
          "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.497,
          "after": 0.4307,
          "delta": -0.0663,
          "percent_delta": -0.1334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 113
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1051,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.4103,
        "predicted_AVG": 0.2111,
        "predicted_BB": 0.2915,
        "predicted_H": 0.72,
        "predicted_HBP": 0.122,
        "predicted_HR": 0.1223,
        "predicted_OBP": 0.2733,
        "predicted_R": 0.3663,
        "predicted_RBI": 0.4466,
        "predicted_SLG": 0.354,
        "predicted_SO": 0.867
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2198,
          "after": 0.2111,
          "delta": -0.0087,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3049,
          "after": 0.2733,
          "delta": -0.0316,
          "percent_delta": -0.1036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4307,
          "after": 0.354,
          "delta": -0.0767,
          "percent_delta": -0.1781,
          "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.4307,
          "after": 0.354,
          "delta": -0.0767,
          "percent_delta": -0.1781,
          "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.47), rates preserved: AVG=0.201 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.1051,
          "after": 0.0,
          "delta": -0.1051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4103,
          "after": 3.0,
          "delta": -0.4103,
          "percent_delta": -0.1203,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2915,
          "after": 0.0,
          "delta": -0.2915,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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_HBP",
          "before": 0.122,
          "after": 0.0,
          "delta": -0.122,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1223,
          "after": 0.0,
          "delta": -0.1223,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4466,
          "after": 0.0,
          "delta": -0.4466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.867,
          "after": 1.0,
          "delta": 0.133,
          "percent_delta": 0.1534,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.72,
          "after": 1.0,
          "delta": 0.28,
          "percent_delta": 0.3889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4466,
          "after": 0.0,
          "delta": -0.4466,
          "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_R",
          "before": 0.3663,
          "after": 0.0,
          "delta": -0.3663,
          "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.3663,
          "after": 0.0,
          "delta": -0.3663,
          "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.1169,
        "predicted_3B": 0.0118,
        "predicted_BB": 0.3025,
        "predicted_H": 0.7602,
        "predicted_HR": 0.0786,
        "predicted_RBI": 0.3831,
        "predicted_SO": 0.8833
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1169,
          "delta": 0.1169,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3025,
          "delta": 0.3025,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7602,
          "delta": -0.2398,
          "percent_delta": -0.2398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0786,
          "delta": 0.0786,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3831,
          "delta": 0.3831,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8833,
          "delta": -0.1167,
          "percent_delta": -0.1167,
          "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.3831,
          "delta": 0.3831,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7602,
          "delta": -0.2398,
          "percent_delta": -0.2398,
          "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.339,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1169,
          "after": 0.0,
          "delta": -0.1169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2111,
          "after": 0.227,
          "delta": 0.0159,
          "percent_delta": 0.0753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3025,
          "after": 0.0,
          "delta": -0.3025,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7602,
          "after": 0.0,
          "delta": -0.7602,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0786,
          "after": 0.0,
          "delta": -0.0786,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2733,
          "after": 0.296,
          "delta": 0.0227,
          "percent_delta": 0.0831,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3831,
          "after": 0.0,
          "delta": -0.3831,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.354,
          "after": 0.339,
          "delta": -0.015,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8833,
          "after": 1.0,
          "delta": 0.1167,
          "percent_delta": 0.1321,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8833,
          "after": 1.0,
          "delta": 0.1167,
          "percent_delta": 0.1321,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7602,
          "after": 0.0,
          "delta": -0.7602,
          "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.227,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.339,
        "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 club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.235,
          "delta": 0.008,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.306,
          "delta": 0.01,
          "percent_delta": 0.0338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.352,
          "delta": 0.013,
          "percent_delta": 0.0383,
          "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.339,
          "after": 0.352,
          "delta": 0.013,
          "percent_delta": 0.0383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.212,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.329,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.212,
          "delta": -0.023,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.284,
          "delta": -0.022,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.352,
          "after": 0.329,
          "delta": -0.023,
          "percent_delta": -0.0653,
          "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.235,
          "after": 0.212,
          "delta": -0.023,
          "percent_delta": -0.0979,
          "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.115,
        "after": 0.0,
        "delta": -0.115,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.469,
        "after": 4.0,
        "delta": 0.531,
        "percent_delta": 0.1531,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.212,
        "delta": -0.011,
        "percent_delta": -0.0493,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.336,
        "after": 0.0,
        "delta": -0.336,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.122,
        "after": 0.0,
        "delta": -0.122,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.284,
        "delta": -0.031,
        "percent_delta": -0.0984,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.416,
        "after": 0.0,
        "delta": -0.416,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.497,
        "after": 0.329,
        "delta": -0.168,
        "percent_delta": -0.338,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.885,
        "after": 2.0,
        "delta": 1.115,
        "percent_delta": 1.2599,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 2,
      "deboosted_metrics": 10,
      "better_metrics": 1,
      "worse_metrics": 11,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.885,
        "after": 2.0,
        "delta": 1.115,
        "percent_delta": 1.2599,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.115-
predicted_3B0.009-
predicted_AB3.469-
predicted_AVG0.223-
predicted_BB0.336-
predicted_H0.750-
predicted_HR0.140-
predicted_OBP0.315-
predicted_R0.416-
predicted_RBI0.470-
predicted_SLG0.497-
predicted_SO0.885-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.105-0.010
predicted_3B0.008-0.001
predicted_AB3.410-0.059
predicted_AVG0.220-0.003
predicted_BB0.293-0.043
predicted_H0.737-0.013
predicted_HBP0.122-
predicted_HR0.126-0.014
predicted_OBP0.305-0.010
predicted_R0.381-0.035
predicted_RBI0.464-0.006
predicted_SLG0.431-0.066
predicted_SO0.862-0.023
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1050.000
predicted_3B0.0080.000
predicted_AB3.4100.000
predicted_AVG0.211-0.009
predicted_BB0.291-0.002
predicted_H0.720-0.017
predicted_HBP0.1220.000
predicted_HR0.122-0.003
predicted_OBP0.273-0.032
predicted_R0.366-0.014
predicted_RBI0.447-0.017
predicted_SLG0.354-0.077
predicted_SO0.8670.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1170.117
3B0.0120.012
BB0.3020.302
H0.760-0.240
HR0.0790.079
RBI0.3830.383
SO0.883-0.117
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.117
3B0.000-0.012
AB3.0000.000
AVG0.227-
BB0.000-0.302
H0.000-0.760
HR0.000-0.079
OBP0.296-
R0.0000.000
RBI0.000-0.383
SLG0.339-
SO1.0000.117
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.008
predicted_AB3.000-0.410
predicted_AVG0.2270.016
predicted_BB0.000-0.291
predicted_H0.000-0.720
predicted_HR0.000-0.122
predicted_OBP0.2960.023
predicted_R0.000-0.366
predicted_RBI0.000-0.447
predicted_SLG0.339-0.015
predicted_SO1.0000.133
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2350.008
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.3060.010
R0.0000.000
RBI0.0000.000
SLG0.3520.013
SO1.0000.000
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
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
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: 113
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.0000.0000.0001.0002.0001.0000.0003.0000.20000.25000.40000.20000.06670.13330.00000.2000
last_100.2010-31.0006.0001.0000.0001.0007.0002.0002.0009.0000.19350.28570.32260.19350.03230.22580.06450.2903
season0.60113-392.00088.00013.0001.0008.00043.00047.00038.000100.0000.22450.30590.32400.22450.02040.10970.09690.2551
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0920
predicted_3B0.0060
predicted_AB3.3330
predicted_AVG0.2156
predicted_BB0.2370
predicted_H0.7190
predicted_HBP0.1220
predicted_HR0.1070
predicted_OBP0.2916
predicted_R0.3340
predicted_RBI0.4560
predicted_SLG0.3433
predicted_SO0.8310
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11500.09200.1051model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB3.46903.33303.4103model_form_blend
predicted_AVG0.22300.21560.2198model_form_blend
predicted_BB0.33600.23700.2933model_form_blend
predicted_H0.75000.71900.7366model_form_blend
predicted_HBP-0.12200.1220form_only
predicted_HR0.14000.10700.1258model_form_blend
predicted_OBP0.31500.29160.3049model_form_blend
predicted_R0.41600.33400.3806model_form_blend
predicted_RBI0.47000.45600.4640model_form_blend
predicted_SLG0.49700.34330.4307model_form_blend
predicted_SO0.88500.83100.8617model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC1
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261006_MIL@SD
game_typefull
mlbID630105
playerID630105
playerNameJake Cronenworth
pos2B
startedTrue
startingPosition2B
teamSD
teamID23
game_date2026-10-06
sl_k_percent22.8
sl_bb_percent8.9
sl_woba0.287
sl_xwoba0.275
sl_xba0.213
sl_xslg0.308
sl_sweet_spot_percent30.7
sl_barrel_batted_rate3.9
sl_hard_hit_percent29.7
sl_exit_velocity_avg87.2
sl_launch_angle_avg11.4
sl_whiff_percent21.3
sl_swing_percent45.8
Samad Taylor (669392) · BATTER · LF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 160
All-history rows before 20261007: 160
System season_avg: 0.3140
Data season_avg (2026 season-to-date): 0.3321
Diff (system - data): -0.0181
System opponent_avg: 0.3140
System season_avg diverges from 2026 season-to-date by -0.0181. 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.0780.0000.000Hitting_2B0.0940.000-0.0940.000
predicted_3B0.0390.0000.000Hitting_3B0.0440.000-0.0440.000
predicted_AB3.1183.0003.000Hitting_AB3.4623.000-0.4620.000
predicted_AVG0.2940.0000.000Hitting_AVG0.3320.333-0.332-0.333
predicted_BB0.3531.0001.000Hitting_BB0.4560.0000.5441.000
predicted_CS-0.0000.000BaseRunning_CS0.0620.000-0.0620.000
predicted_H0.7800.0000.000Hitting_H1.1501.000-1.150-1.000
predicted_HR0.0300.0000.000Hitting_HR0.0370.000-0.0370.000
predicted_OBP0.3440.2500.250Hitting_OBP0.4140.333-0.164-0.083
predicted_R0.5292.0002.000Hitting_R0.6251.0001.3751.000
predicted_RBI0.2200.0000.000Hitting_RBI0.4120.000-0.4120.000
predicted_SLG0.3700.0000.000Hitting_SLG0.4170.333-0.417-0.333
predicted_SO0.9220.0000.000Hitting_SO1.0440.000-1.0440.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_R: 0.5290 -> 2.0000 (boost 1.4710, better)
Biggest Deboostpredicted_SO: 0.9220 -> 0.0000 (deboost -0.9220, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 3.1180 -> 3.0364 (deboost -0.0816, 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.2922 -> 0.2596 (deboost -0.0326, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52314predicted_H: 0.7884 -> 1.0000 (boost 0.2116, better)predicted_BB: 0.2965 -> 0.0000 (deboost -0.2965, worse)AB rounded to 3 (raw=3.12), rates preserved: AVG=0.245 HR/AB=0.010
6consistency_constraints10101-predicted_R: 0.4585 -> 0.0000 (deboost -0.4585, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.3639 (boost 0.3639, better)predicted_H: 1.0000 -> 0.7760 (deboost -0.2240, 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_allocation83526predicted_H: 0.7760 -> 1.0000 (boost 0.2240, better)predicted_BB: 0.3639 -> 0.0000 (deboost -0.3639, 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_environment33030predicted_SLG: 0.3670 -> 0.3810 (boost 0.0140, better)-KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup
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_realization42231predicted_R: 0.0000 -> 2.0000 (boost 2.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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_SLG: 0.3810 -> 0.3530 (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": "669392",
  "player_name": "Samad Taylor",
  "position": "LF",
  "team": "SD",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.078,
        "predicted_3B": 0.039,
        "predicted_AB": 3.118,
        "predicted_AVG": 0.294,
        "predicted_BB": 0.353,
        "predicted_H": 0.78,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.344,
        "predicted_R": 0.529,
        "predicted_RBI": 0.22,
        "predicted_SLG": 0.37,
        "predicted_SO": 0.922
      },
      "changed_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.0776,
        "predicted_3B": 0.0317,
        "predicted_AB": 3.0364,
        "predicted_AVG": 0.2922,
        "predicted_BB": 0.2983,
        "predicted_H": 0.8065,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0312,
        "predicted_OBP": 0.3421,
        "predicted_R": 0.4764,
        "predicted_RBI": 0.2294,
        "predicted_SLG": 0.3678,
        "predicted_SO": 0.8832
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.118,
          "after": 3.0364,
          "delta": -0.0816,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.353,
          "after": 0.2983,
          "delta": -0.0547,
          "percent_delta": -0.155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.529,
          "after": 0.4764,
          "delta": -0.0526,
          "percent_delta": -0.0994,
          "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_AB",
          "before": 3.118,
          "after": 3.0364,
          "delta": -0.0816,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 51
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0776,
        "predicted_3B": 0.0317,
        "predicted_AB": 3.0364,
        "predicted_AVG": 0.2596,
        "predicted_BB": 0.2965,
        "predicted_H": 0.7884,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0303,
        "predicted_OBP": 0.3255,
        "predicted_R": 0.4585,
        "predicted_RBI": 0.2208,
        "predicted_SLG": 0.336,
        "predicted_SO": 0.8886
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2922,
          "after": 0.2596,
          "delta": -0.0326,
          "percent_delta": -0.1116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3421,
          "after": 0.3255,
          "delta": -0.0166,
          "percent_delta": -0.0485,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3678,
          "after": 0.336,
          "delta": -0.0318,
          "percent_delta": -0.0865,
          "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.2922,
          "after": 0.2596,
          "delta": -0.0326,
          "percent_delta": -0.1116,
          "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.12), rates preserved: AVG=0.245 HR/AB=0.010",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0776,
          "after": 0.0,
          "delta": -0.0776,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2965,
          "after": 0.0,
          "delta": -0.2965,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7884,
          "after": 1.0,
          "delta": 0.2116,
          "percent_delta": 0.2684,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2208,
          "after": 0.0,
          "delta": -0.2208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8886,
          "after": 1.0,
          "delta": 0.1114,
          "percent_delta": 0.1254,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7884,
          "after": 1.0,
          "delta": 0.2116,
          "percent_delta": 0.2684,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2965,
          "after": 0.0,
          "delta": -0.2965,
          "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_R",
          "before": 0.4585,
          "after": 0.0,
          "delta": -0.4585,
          "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.4585,
          "after": 0.0,
          "delta": -0.4585,
          "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.124,
        "predicted_3B": 0.0154,
        "predicted_BB": 0.3639,
        "predicted_H": 0.776,
        "predicted_HR": 0.0774,
        "predicted_RBI": 0.3549,
        "predicted_SO": 0.8697
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.124,
          "delta": 0.124,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3639,
          "delta": 0.3639,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.776,
          "delta": -0.224,
          "percent_delta": -0.224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0774,
          "delta": 0.0774,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3549,
          "delta": 0.3549,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8697,
          "delta": -0.1303,
          "percent_delta": -0.1303,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3639,
          "delta": 0.3639,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.776,
          "delta": -0.224,
          "percent_delta": -0.224,
          "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.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.367,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.124,
          "after": 0.0,
          "delta": -0.124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2596,
          "after": 0.245,
          "delta": -0.0146,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3639,
          "after": 0.0,
          "delta": -0.3639,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.776,
          "after": 1.0,
          "delta": 0.224,
          "percent_delta": 0.2887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0774,
          "after": 0.0,
          "delta": -0.0774,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3549,
          "after": 0.0,
          "delta": -0.3549,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.336,
          "after": 0.367,
          "delta": 0.031,
          "percent_delta": 0.0923,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8697,
          "after": 1.0,
          "delta": 0.1303,
          "percent_delta": 0.1498,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.776,
          "after": 1.0,
          "delta": 0.224,
          "percent_delta": 0.2887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3639,
          "after": 0.0,
          "delta": -0.3639,
          "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.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "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": 10,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.381,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.254,
          "delta": 0.009,
          "percent_delta": 0.0367,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.339,
          "delta": 0.011,
          "percent_delta": 0.0335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.381,
          "delta": 0.014,
          "percent_delta": 0.0381,
          "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.367,
          "after": 0.381,
          "delta": 0.014,
          "percent_delta": 0.0381,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 2.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.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_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": 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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "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": {
          "metric": "predicted_H",
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.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": 3.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 2.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.227,
          "delta": -0.027,
          "percent_delta": -0.1063,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.315,
          "delta": -0.024,
          "percent_delta": -0.0708,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.381,
          "after": 0.353,
          "delta": -0.028,
          "percent_delta": -0.0735,
          "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.381,
          "after": 0.353,
          "delta": -0.028,
          "percent_delta": -0.0735,
          "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.078,
        "after": 0.0,
        "delta": -0.078,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.118,
        "after": 3.0,
        "delta": -0.118,
        "percent_delta": -0.0378,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.294,
        "after": 0.227,
        "delta": -0.067,
        "percent_delta": -0.2279,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.353,
        "after": 1.0,
        "delta": 0.647,
        "percent_delta": 1.8329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 0.0,
        "delta": -0.78,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.344,
        "after": 0.315,
        "delta": -0.029,
        "percent_delta": -0.0843,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.529,
        "after": 2.0,
        "delta": 1.471,
        "percent_delta": 2.7807,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.37,
        "after": 0.353,
        "delta": -0.017,
        "percent_delta": -0.0459,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.922,
        "after": 0.0,
        "delta": -0.922,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.529,
        "after": 2.0,
        "delta": 1.471,
        "percent_delta": 2.7807,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.922,
        "after": 0.0,
        "delta": -0.922,
        "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.078-
predicted_3B0.039-
predicted_AB3.118-
predicted_AVG0.294-
predicted_BB0.353-
predicted_H0.780-
predicted_HR0.030-
predicted_OBP0.344-
predicted_R0.529-
predicted_RBI0.220-
predicted_SLG0.370-
predicted_SO0.922-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.078-0.000
predicted_3B0.032-0.007
predicted_AB3.036-0.082
predicted_AVG0.292-0.002
predicted_BB0.298-0.055
predicted_H0.8060.026
predicted_HBP0.013-
predicted_HR0.0310.001
predicted_OBP0.342-0.002
predicted_R0.476-0.053
predicted_RBI0.2290.009
predicted_SLG0.368-0.002
predicted_SO0.883-0.039
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0780.000
predicted_3B0.0320.000
predicted_AB3.0360.000
predicted_AVG0.260-0.033
predicted_BB0.296-0.002
predicted_H0.788-0.018
predicted_HBP0.0130.000
predicted_HR0.030-0.001
predicted_OBP0.326-0.017
predicted_R0.459-0.018
predicted_RBI0.221-0.009
predicted_SLG0.336-0.032
predicted_SO0.8890.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1240.124
3B0.0150.015
BB0.3640.364
H0.776-0.224
HR0.0770.077
RBI0.3550.355
SO0.870-0.130
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.124
3B0.000-0.015
AB3.0000.000
AVG0.245-
BB0.000-0.364
H1.0000.224
HR0.000-0.077
OBP0.328-
R0.0000.000
RBI0.000-0.355
SLG0.367-
SO1.0000.130
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.078
predicted_3B0.000-0.032
predicted_AB3.000-0.036
predicted_AVG0.245-0.015
predicted_BB0.000-0.296
predicted_H1.0000.212
predicted_HR0.000-0.030
predicted_OBP0.3280.003
predicted_R0.000-0.459
predicted_RBI0.000-0.221
predicted_SLG0.3670.031
predicted_SO1.0000.111
10. kpi_run_environment

KPI club run ratio x1.078 applied to runs and RBI, x1.038 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2540.009
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3390.011
R0.0000.000
RBI0.0000.000
SLG0.3810.014
SO1.0000.000
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.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R2.0002.000
RBI0.0000.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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R2.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: 51
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.0003.0000.0000.0000.0000.0001.0000.0003.0000.30000.30000.30000.30000.00000.00000.00000.3000
last_100.2010-25.0006.0001.0000.0000.0001.0002.0001.0007.0000.24000.26920.28000.24000.00000.04000.04000.2800
season0.6051-159.00050.0004.0002.0002.00018.00027.00018.00047.0000.31450.38550.40250.31450.01260.11320.11320.2956
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0770
predicted_3B0.0210
predicted_AB2.9180
predicted_AVG0.2897
predicted_BB0.2190
predicted_H0.8450
predicted_HBP0.0130
predicted_HR0.0330
predicted_OBP0.3394
predicted_R0.4000
predicted_RBI0.2430
predicted_SLG0.3646
predicted_SO0.8270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07800.07700.0776model_form_blend
predicted_3B0.03900.02100.0317model_form_blend
predicted_AB3.11802.91803.0364model_form_blend
predicted_AVG0.29400.28970.2922model_form_blend
predicted_BB0.35300.21900.2983model_form_blend
predicted_H0.78000.84500.8065model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.03000.03300.0312model_form_blend
predicted_OBP0.34400.33940.3421model_form_blend
predicted_R0.52900.40000.4764model_form_blend
predicted_RBI0.22000.24300.2294model_form_blend
predicted_SLG0.37000.36460.3678model_form_blend
predicted_SO0.92200.82700.8832model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R2
RBI0
BB1
SO0
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_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261006_MIL@SD
game_typefull
mlbID669392
playerID669392
playerNameSamad Taylor
posLF
startedTrue
startingPositionDH
teamSD
teamID23
game_date2026-10-06
sl_k_percent25.7
sl_bb_percent10.3
sl_woba0.356
sl_xwoba0.309
sl_xba0.256
sl_xslg0.328
sl_sweet_spot_percent33.3
sl_barrel_batted_rate3.6
sl_hard_hit_percent25.2
sl_exit_velocity_avg85.9
sl_launch_angle_avg9.0
sl_whiff_percent25.2
sl_swing_percent44.1
Walker Buehler (621111) · PITCHER · Starter · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 32
All-history rows before 20261007: 32

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.7811.0001.2192.000
predicted_ER3.0003.0003.000Pitching_ER2.4693.0000.5310.000
predicted_H4.0004.0004.000Pitching_H4.6885.000-0.688-1.000
predicted_IP3.2003.2003.200Pitching_InningsPitched4.6343.200-1.4340.000
predicted_SO4.0004.0004.000Pitching_SO4.0943.000-0.0941.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics1
Deboosted Metrics4
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse)
Biggest Deboostpredicted_ER: 6.0000 -> 3.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, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend published; the staff line follows the published score, not a KPI rescale
7market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
8play_by_play_realization51423predicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse)predicted_ER: 6.0000 -> 3.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
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": "621111",
  "player_name": "Walker Buehler",
  "position": "Starter",
  "team": "SD",
  "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": 6.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.6667,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": "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": 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": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.2,
        "predicted_R": 3.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 4.6667,
          "after": 3.2,
          "delta": -1.4667,
          "percent_delta": -0.3143,
          "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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 6.0,
          "after": 3.0,
          "delta": -3.0,
          "percent_delta": -0.5,
          "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": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 3.2,
        "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": 0.0,
        "after": 3.0,
        "delta": 3.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 6.0,
        "after": 3.0,
        "delta": -3.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 6.0,
        "after": 4.0,
        "delta": -2.0,
        "percent_delta": -0.3333,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 4.6667,
        "after": 3.2,
        "delta": -1.4667,
        "percent_delta": -0.3143,
        "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": 5,
      "boosted_metrics": 1,
      "deboosted_metrics": 4,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 3.0,
        "delta": 3.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 6.0,
        "after": 3.0,
        "delta": -3.0,
        "percent_delta": -0.5,
        "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_BB0.000-
predicted_ER6.000-
predicted_H6.000-
predicted_HR0.000-
predicted_IP4.667-
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 published; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. 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
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-
BF18.000-
ER3.000-
H4.000-
HR0.000-
IP3.200-
Pitches75.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: 32
Reference playing time: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45522.10011.00021.0008.00020.0005.0004.43281.29850.49250.94030.35820.89550.2239
last_100.351049.10019.00043.00013.00039.0008.0003.46621.13510.38510.87160.26350.79050.1622
season0.2032153.20079.000150.00057.000131.00022.0004.62691.34710.51410.97610.37090.85250.1432
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5520
predicted_ER2.1640
predicted_ERA4.1997
predicted_H4.3220
predicted_HR0.8390
predicted_IP4.2000
predicted_SO3.9960
predicted_WHIP1.2665
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.55200.9202model_form_blend
predicted_ER6.00002.16403.7256model_form_blend
predicted_ERA-4.19974.1997form_only
predicted_H6.00004.32205.0051model_form_blend
predicted_HR0.00000.83900.4975model_form_blend
predicted_IP4.20004.20004.2000model_form_blend
predicted_SO5.00003.99604.4047model_form_blend
predicted_WHIP-1.26651.2665form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP3.2
H4
R3
ER3
BB3
SO4
HR0
BF18
Pitches75

Latest Real Data Snapshot (before report date)

Latest 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 Faced18
Pitching_ER3
Pitching_ERA4.63
Pitching_Flyouts2
Pitching_Groundouts6
Pitching_H5
Pitching_HBP1
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.2
Pitching_Pitches73
Pitching_R4
Pitching_SO3
Pitching_Strikes38
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260926_ARI@SD
game_typefull
mlbID621111
playerID621111
playerNameWalker Buehler
posP
startedTrue
startingPositionP
teamSD
teamID23
game_date2026-09-26
sl_k_percent20.1
sl_bb_percent8.8
sl_woba0.329
sl_xwoba0.317
sl_sweet_spot_percent30.9
sl_barrel_batted_rate8.4
sl_hard_hit_percent38.7
sl_whiff_percent19.5
sl_swing_percent45.1
sl_avg_best_speed78.721987566
sl_avg_hyper_speed94.111974602
Bradgley Rodriguez (699134) · PITCHER · Long Reliever · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 72
All-history rows before 20261007: 72

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3060.000-0.3060.000
predicted_ER0.0000.0000.000Pitching_ER0.2641.000-0.264-1.000
predicted_H0.0000.0000.000Pitching_H0.8613.000-0.861-3.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9511.1000.1490.000
predicted_SO1.0001.0001.000Pitching_SO1.2223.000-0.222-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics0
Deboosted Metrics3
Better Metrics1
Worse Metrics2
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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization30312-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": "699134",
  "player_name": "Bradgley Rodriguez",
  "position": "Long Reliever",
  "team": "SD",
  "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.3333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 0,
      "deboosted_metrics": 3,
      "better_metrics": 1,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "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_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.333-
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 published; 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-
H0.000-
HR0.000-
IP1.100-
Pitches19.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: 70
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.0001.0004.0003.0009.0000.0001.28571.00000.14290.57140.42861.28570.0000
last_100.351013.2002.0009.0004.00016.0001.0001.31710.95120.14630.65850.29271.17070.0732
season0.207079.00015.00056.00021.00088.0004.0001.70890.97470.18990.70890.26581.11390.0506
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4560
predicted_ER0.3050
predicted_ERA2.1422
predicted_H0.9140
predicted_HR0.0800
predicted_IP1.1000
predicted_SO1.4700
predicted_WHIP1.0688
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.45600.2512model_form_blend
predicted_ER0.00000.30500.1680model_form_blend
predicted_ERA-2.14222.1422form_only
predicted_H1.00000.91400.9526model_form_blend
predicted_HR0.00000.08000.0441model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO2.00001.47001.7080model_form_blend
predicted_WHIP-1.06881.0688form_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 used70
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
BF5
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER1
Pitching_ERA1.80
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches21
Pitching_R1
Pitching_SO3
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261006_MIL@SD
game_typefull
mlbID699134
playerID699134
playerNameBradgley Rodriguez
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-10-06
sl_k_percent26.9
sl_bb_percent6.6
sl_woba0.266
sl_xwoba0.239
sl_sweet_spot_percent27.0
sl_barrel_batted_rate4.5
sl_hard_hit_percent30.0
sl_whiff_percent30.1
sl_swing_percent51.6
sl_avg_best_speed76.26349102
sl_avg_hyper_speed92.978718367
Jason Adam (592094) · PITCHER · Setup Man · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 41
All-history rows before 20261007: 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.2931.000-0.293-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2440.000-0.2440.000
predicted_H0.0000.0000.000Pitching_H0.7561.000-0.756-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8320.1000.1680.900
predicted_SO1.0001.0001.000Pitching_SO0.5370.0000.4631.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics1
Worse Metrics0
Biggest Boost-
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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization10110-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": "592094",
  "player_name": "Jason Adam",
  "position": "Setup Man",
  "team": "SD",
  "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.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 published; 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.0,
        "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
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "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": "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.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": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_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": "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_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 published; 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-
BF3.000-
ER0.000-
H0.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: 41
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1001.0001.0004.0000.0000.0002.07691.15380.23080.23080.92310.00000.0000
last_100.35109.1004.0006.0004.0004.0001.0003.85711.07140.42860.64290.42860.42860.1071
season0.204136.20010.00031.00012.00022.0005.0002.45451.17270.27270.84550.32730.60000.1364
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5310
predicted_ER0.3900
predicted_ERA3.5109
predicted_H0.6920
predicted_HR0.0980
predicted_IP1.0000
predicted_SO0.5340
predicted_WHIP1.2230
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.53100.7740model_form_blend
predicted_ER0.00000.39000.1880model_form_blend
predicted_ERA-3.51093.5109form_only
predicted_H0.00000.69200.3335model_form_blend
predicted_HR0.00000.09800.0472model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.53400.7754model_form_blend
predicted_WHIP-1.22301.2230form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
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_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored1
Pitching_InningsPitched0.1
Pitching_Pitches13
Pitching_R0
Pitching_SO0
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261006_MIL@SD
game_typefull
mlbID592094
playerID592094
playerNameJason Adam
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-10-06
sl_k_percent15.5
sl_bb_percent7.0
sl_woba0.307
sl_xwoba0.3
sl_sweet_spot_percent26.2
sl_barrel_batted_rate7.5
sl_hard_hit_percent37.4
sl_whiff_percent28.5
sl_swing_percent52.3
sl_avg_best_speed77.065990566
sl_avg_hyper_speed93.431740849
Adrian Morejon (670970) · PITCHER · Closer · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 78
All-history rows before 20261007: 78

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3590.000-0.3590.000
predicted_ER2.0002.0002.000Pitching_ER0.3591.0001.6411.000
predicted_H4.0004.0004.000Pitching_H0.8853.0003.1151.000
predicted_IP4.0004.0004.000Pitching_InningsPitched1.0282.0002.9722.000
predicted_SO3.0003.0003.000Pitching_SO1.3972.0001.6031.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics5
Deboosted Metrics0
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_H: 1.0000 -> 4.0000 (boost 3.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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization55023predicted_H: 1.0000 -> 4.0000 (boost 3.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": "670970",
  "player_name": "Adrian Morejon",
  "position": "Closer",
  "team": "SD",
  "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.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 published; 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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.0,
        "predicted_R": 3.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "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": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 4.0,
          "delta": 2.6667,
          "percent_delta": 2.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": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "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": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.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_ER",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 4.0,
        "delta": 3.0,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 4.0,
        "delta": 2.6667,
        "percent_delta": 2.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": 5,
      "boosted_metrics": 5,
      "deboosted_metrics": 0,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 4.0,
        "delta": 3.0,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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.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 published; 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-
BF16.000-
ER2.000-
H4.000-
HR1.000-
IP4.000-
Pitches70.000-
R3.000-
SO3.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 78
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.1002.0006.0002.0006.0001.0002.45451.09090.27270.81820.27270.81820.1364
last_100.351011.1003.0008.0004.00013.0001.0002.38241.05880.26470.70590.35291.14710.0882
season0.207890.00028.00069.00028.000109.0005.0002.80001.07780.31110.76670.31111.21110.0556
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3850
predicted_ER0.3900
predicted_ERA2.9491
predicted_H0.9680
predicted_HR0.1340
predicted_IP1.1000
predicted_SO1.1830
predicted_WHIP1.1382
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.38500.2158model_form_blend
predicted_ER0.00000.39000.2186model_form_blend
predicted_ERA-2.94912.9491form_only
predicted_H1.00000.96800.9821model_form_blend
predicted_HR0.00000.13400.0751model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.18301.1026model_form_blend
predicted_WHIP-1.13821.1382form_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 date78
Season rows before report date78
Report year2026
Profile rows used78
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.0
H4
R3
ER2
BB0
SO3
HR1
BF16
Pitches70

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced9
Pitching_ER1
Pitching_ERA2.25
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches31
Pitching_R1
Pitching_SO2
Pitching_Strikes20
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20261003_SD@MIL
game_typefull
mlbID670970
playerID670970
playerNameAdrian Morejon
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-10-03
sl_k_percent30.4
sl_bb_percent8.0
sl_woba0.244
sl_xwoba0.237
sl_sweet_spot_percent28.3
sl_barrel_batted_rate2.8
sl_hard_hit_percent32.5
sl_whiff_percent34.2
sl_swing_percent52.6
sl_avg_best_speed74.331806132
sl_avg_hyper_speed93.323366588

20261007_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": 3, "home_runs": 4, "confidence": 0.54401626125, "home_win_probability": 0.54401626125, "away_win_probability": 0.45598373875, "predicted_score_text": "TB 3 - 4 NYY", "uncapped_home_win_probability": 0.566481, "uncapped_away_win_probability": 0.433519, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.566481, "discount_factor": 0.7225, "published_confidence": 0.544016, "guardrail_confidence_cap": 0.54, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": true, "confidence_before_ceiling": 0.548033, "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.641479, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.544016, "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": 3, "home_runs": 4, "predicted_score_text": "TB 3 - 4 NYY", "confidence": 0.54401626125, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "TB 3 - 4 NYY", "winner": "NYY"}, "final_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "TB 3 - 4 NYY", "winner": "NYY"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0142, "recent_form_edge_home_minus_away": 0.182, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 3, "home_runs": 4, "winner": "NYY", "model_winner": "NYY", "simulation_winner": "NYY", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 3, "published_winner": "NYY", "published_winner_draw_share": 0.6667, "draw_majority_team": "NYY", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 3, "home_runs": 4}, "simulation_score": {"away_runs": 3, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.1757, "winner": "NYY", "score_reviewed": {"away_runs": 3, "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 predictionTB 3 - 4 NYYNYY0.544enhanced_prediction.pre_simulation_targetTrue
Simulation drawTB 3 - 4 NYYNYY-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.4838; empirical=0.5674; weight=0.4500; final=0.5214
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.5440
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.9605.569-Base ML historical model prediction
2variance_applied46-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction340.5440Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4kpi_layer34-Savant KPI blend applied to the model target
5embedded_savant_run_environment34-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review34-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target34-Capped at max 12 realistic runs
8simulation_result34-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7122387300296822,
  "base_low_score_probability": 0.4275618374558304,
  "low_score_signal_threshold": 0.5075618374558304,
  "low_score_signal_strength": 0.2846768925738518,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.6658145504000006
  },
  "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": 393,
  "near_bucket_sample_size": 393,
  "medium_bucket_sample_size": 631,
  "wide_bucket_sample_size": 1124,
  "global_sample_size": 1135,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5674,
  "bayesian_hit_rate": 0.5645,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.6185,
  "raw_pick_probability_unclamped": 0.6185,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5073,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5684,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.618462,
  "uncapped_away_win_probability": 0.381538,
  "calibrated_pick_probability": 0.5665,
  "predicted_side": "home",
  "reliability": 0.956204,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.971533
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.483821,
  "sample_size": 393,
  "empirical_hit_rate": 0.5674,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.521431,
  "published_confidence": 0.544016,
  "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.024571149423370492
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.024254044154911086
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.023920224256027942
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.023611519563234765
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.02206000976023823
    }
  ],
  "home_distribution": {
    "0": 0.07360930233901197,
    "1": 0.10754056582013177,
    "2": 0.13786423793583563,
    "3": 0.15508529613698727,
    "4": 0.15308382833349696,
    "5": 0.13259516778739763,
    "6": 0.10077800843404823,
    "7": 0.06721149223989481,
    "8": 0.039333355352088026,
    "9": 0.020198454734309753,
    "10": 0.00910154219490888,
    "11": 0.003598748691889274
  },
  "away_distribution": {
    "0": 0.0765518225234127,
    "1": 0.11161827464051573,
    "2": 0.14224436687248906,
    "3": 0.15843635751042914,
    "4": 0.15423915001522223,
    "5": 0.13123642713898623,
    "6": 0.0975964845844931,
    "7": 0.06343573149970959,
    "8": 0.036037423291023184,
    "9": 0.017893426383670735,
    "10": 0.007765211553087446,
    "11": 0.002945323986960967
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.54,
  "winner_flipped": false,
  "reasons": [
    "predicted side recently lost this matchup by 5+ runs",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs"
  ],
  "signals": {
    "predicted_team": "NYY",
    "opponent_team": "TB",
    "h2h_net_margin": 4,
    "opponent_breakout": false,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-24",
        "predicted_team_runs": 6,
        "opponent_runs": 4,
        "margin_for_predicted_team": 2,
        "winner": "NYY"
      },
      {
        "date": "2026-09-23",
        "predicted_team_runs": 9,
        "opponent_runs": 2,
        "margin_for_predicted_team": 7,
        "winner": "NYY"
      },
      {
        "date": "2026-09-22",
        "predicted_team_runs": 1,
        "opponent_runs": 6,
        "margin_for_predicted_team": -5,
        "winner": "TB"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 8,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 3,
      "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": "NYY",
    "guardrail_opponent_team": "TB",
    "output_pre_simulation_winner": "NYY",
    "output_opponent_team": "TB",
    "simulation_score_winner": "NYY",
    "final_score_winner": "NYY",
    "pre_simulation_winner": "NYY",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": false,
  "flip_authority": "caps_confidence_and_shifts_runs_only"
}
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.521431,
  "final_confidence": 0.5665,
  "calibrated_pick_probability": 0.5665,
  "shrinkage_weight": 0.971533,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 393,
  "calibration_empirical_hit_rate": 0.5674,
  "calibration_bayesian_hit_rate": 0.5645,
  "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": 3,
      "home_runs": 4
    },
    "margin": 1,
    "probability_before": 0.566481,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.971533,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.566481,
    "aligned_pick_probability": 0.566481
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 21,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "TB 3 - 4 NYY",
    "winner": "NYY"
  },
  "final_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "TB 3 - 4 NYY",
    "winner": "NYY"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0142,
    "recent_form_edge_home_minus_away": 0.182,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 3,
    "home_runs": 4,
    "winner": "NYY",
    "model_winner": "NYY",
    "simulation_winner": "NYY",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 3,
      "published_winner": "NYY",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "NYY",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 3,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 3,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.1757,
    "winner": "NYY",
    "score_reviewed": {
      "away_runs": 3,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 4,
  "confidence": 0.54401626125,
  "home_win_probability": 0.54401626125,
  "away_win_probability": 0.45598373875,
  "predicted_score_text": "TB 3 - 4 NYY",
  "uncapped_home_win_probability": 0.566481,
  "uncapped_away_win_probability": 0.433519,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.566481,
    "discount_factor": 0.7225,
    "published_confidence": 0.544016,
    "guardrail_confidence_cap": 0.54,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": true,
    "confidence_before_ceiling": 0.548033,
    "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.641479,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.544016,
    "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": 3,
    "home_runs": 4,
    "predicted_score_text": "TB 3 - 4 NYY",
    "confidence": 0.54401626125,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "TB 3 - 4 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "TB 3 - 4 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0142,
      "recent_form_edge_home_minus_away": 0.182,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 3,
      "home_runs": 4,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "NYY",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "NYY",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 3,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 3,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.1757,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 3,
        "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 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 TBNick MartinezTrue--0.051711.00440.91540.88800.9600neutral0.30700.295015.103.6017.406.8032.90
Home NYYMax FriedTrue-0.858510.92701.00970.96800.8118neutral0.24600.2450247.60252.4029.80

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away TBNick MartinezTrueNone7787.20219800000000-0.1492
Home NYYMax FriedTrueNone7188.11224700000000-0.0984
Run FactorValue
away_runs_vs_home_pitcher0.9567
home_runs_vs_away_pitcher1.0071
home_pitcher_starter_only_factor0.9270
away_pitcher_starter_only_factor1.0044
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.6296
home_pitcher_quality_edge0.6049
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "608331",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 380.0,
      "k_percent": 24.0,
      "bb_percent": 7.6,
      "woba": 0.245,
      "xwoba": 0.246,
      "sweet_spot_percent": 28.5,
      "barrel_batted_rate": 2.4,
      "hard_hit_percent": 29.8,
      "avg_best_speed": 74.5561,
      "avg_hyper_speed": 92.6087,
      "whiff_percent": 25.0,
      "swing_percent": 46.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": 1.463,
      "command_and_miss": 0.1921,
      "regression_edge": -0.0286,
      "xwoba_edge": 1.8857,
      "barrel_edge": 1.0667,
      "hard_hit_edge": 1.1571,
      "whiff_edge": -0.0286,
      "bb_edge": 0.4,
      "pitch_design_score": -0.0984
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "608331",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 71,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 71,
        "pitch_usage": 0.0,
        "release_speed": 88.10778862071564,
        "release_spin_rate": 2246.884199292124,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 71,
          "pitch_usage": 0.0,
          "release_speed": 88.10778862071564,
          "release_spin_rate": 2246.884199292124,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1078,
        "release_spin_rate": 2246.8842,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0984,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.7025,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.8585,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.927,
    "strikeout_factor": 1.0097,
    "walk_factor": 0.968,
    "homer_factor": 0.8118,
    "woba_minus_xwoba": -0.001,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "608331",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "607259",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 680.0,
      "k_percent": 15.1,
      "bb_percent": 3.6,
      "woba": 0.295,
      "xwoba": 0.307,
      "sweet_spot_percent": 34.6,
      "barrel_batted_rate": 6.8,
      "hard_hit_percent": 32.9,
      "avg_best_speed": 75.7599,
      "avg_hyper_speed": 93.1768,
      "whiff_percent": 17.4,
      "swing_percent": 50.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.2502,
      "command_and_miss": -0.56,
      "regression_edge": -0.3429,
      "xwoba_edge": 0.1429,
      "barrel_edge": 0.0889,
      "hard_hit_edge": 0.7143,
      "whiff_edge": -1.1143,
      "bb_edge": 1.4,
      "pitch_design_score": -0.1492
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "607259",
      "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": 87.20062905927892,
        "release_spin_rate": 2197.645020819482,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 87.20062905927892,
          "release_spin_rate": 2197.645020819482,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 87.2006,
        "release_spin_rate": 2197.645,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1492,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.0654,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0517,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0044,
    "strikeout_factor": 0.9154,
    "walk_factor": 0.888,
    "homer_factor": 0.96,
    "woba_minus_xwoba": -0.012,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "607259",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9567,
    "home_runs_vs_away_pitcher": 1.0071,
    "home_pitcher_starter_only_factor": 0.927,
    "away_pitcher_starter_only_factor": 1.0044,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.6296,
    "home_pitcher_quality_edge": 0.6049
  },
  "score_before": {
    "away_runs": 3.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 2.8702,
    "home_runs": 4.0283,
    "home_win_probability": 0.6093
  },
  "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--3----
Game target NYY--4----
Player finalized TB33631348
Player finalized NYY36941428
Player model fractional TB32.077.134.291.064.173.066.90
Player model fractional NYY32.808.174.331.534.682.556.98
Simulation box TB33631348
Simulation box NYY36941428

If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.

Pitching Snapshot

TeamRolePitcherPre IPPre ERPre SOPre HPre BBWeighted ERAWeighted WHIPBox Sync
Away TBStarterNick Martinez4.1024423.781.11True
Away TBSetup ManCam Booser0.2001001.960.86True
Away TBCloserBryan Baker101101.450.95True
Away TBMiddle RelieverCole Sulser2.2022402.931.17True
Home NYYStarterMax Fried5.1027432.931.03True
Home NYYMiddle RelieverRyan Weathers100002.711.20True
Home NYYMiddle Reliever (High Leverage)Paul Blackburn1.1010101.221.06True
Home NYYMiddle Reliever (High Leverage)John Schreiber1.1001112.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
awayTBpitcherStarterNick Martinezbetter50532predicted_H-4.0000deboostbetter
awayTBpitcherMiddle RelieverCole Sulserworse55023predicted_H4.0000boostworse
homeNYYpitcherStarterMax Friedworse54114predicted_ER2.0000boostworse
homeNYYpitcherMiddle RelieverRyan Weathersbetter40431predicted_ER-2.0000deboostbetter
homeNYYbatterLFCody Bellingerbetter117483predicted_AB-1.6500deboostworse
homeNYYbatter1BLuis García Jr.better117483predicted_R1.5330boostbetter
awayTBbatter1BJonathan Arandaworse114756predicted_R1.5190boostbetter
awayTBbatterDHYandy Díazworse103746predicted_H-1.3500deboostworse
awayTBbatterRFRyan Viladeworse116556predicted_SO1.2700boostworse
awayTBbatterLFVictor Mesa Jr.worse1129110predicted_SO1.2500boostworse
homeNYYbatterCAustin Wellsworse114738predicted_AB1.1950boostbetter
awayTBpitcherSetup ManCam Booserbetter30321predicted_BB-1.0000deboostbetter
awayTBpitcherCloserBryan Bakerbetter21120predicted_BB-1.0000deboostbetter
homeNYYpitcherMiddle Reliever (High Leverage)Paul Blackburnworse63315predicted_BB-1.0000deboostbetter
homeNYYpitcherMiddle Reliever (High Leverage)John Schreiberbetter53241predicted_BB1.0000boostworse
awayTBbatter3BJunior Camineroworse103746predicted_H0.9500boostbetter
homeNYYbatterDHBen Riceworse102828predicted_AB0.9500boostbetter
awayTBbatterSSTaylor Wallsworse105546predicted_AB0.8660boostbetter
homeNYYbatterRFSpencer Jonesworse94536predicted_AB0.8260boostbetter
homeNYYbatter2BAnthony Volpeworse105546predicted_AB0.7650boostbetter
homeNYYbatter3BJosé Caballeroworse115647predicted_H-0.7580deboostworse
awayTBbatter2BRichie Palaciosworse114738predicted_H-0.7200deboostworse
awayTBbatterCFJonny DeLucaworse116556predicted_AB0.6380boostbetter
awayTBbatterCLiam Hicksworse115647predicted_SO0.6180boostworse
homeNYYbatterSSGeorge Lombard Jr.worse82626predicted_R-0.5780deboostworse
homeNYYbatterCFTrent Grishambetter117465predicted_BB0.5080boostbetter

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

Away Team: TB

Away Pitcher Deep Analysis

FieldValue
PitcherNick Martinez
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0517
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1492
Avg Velo87.2006
Avg Spin2197.6450
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.1000
Pre ER2
Pre H4
Pre BB2
Pre SO4
Season ERA3.1000
Season WHIP1.0944
Role Avg IP5.8060
Recent Avg IP5.2670
Last Start IP2.2000
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": "607259",
    "profile": {
      "available": true,
      "pitcher_id": "607259",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 680.0,
        "k_percent": 15.1,
        "bb_percent": 3.6,
        "woba": 0.295,
        "xwoba": 0.307,
        "sweet_spot_percent": 34.6,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 32.9,
        "avg_best_speed": 75.7599,
        "avg_hyper_speed": 93.1768,
        "whiff_percent": 17.4,
        "swing_percent": 50.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.2502,
        "command_and_miss": -0.56,
        "regression_edge": -0.3429,
        "xwoba_edge": 0.1429,
        "barrel_edge": 0.0889,
        "hard_hit_edge": 0.7143,
        "whiff_edge": -1.1143,
        "bb_edge": 1.4,
        "pitch_design_score": -0.1492
      },
      "quality_score": -0.0517,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0044,
      "strikeout_factor": 0.9154,
      "walk_factor": 0.888,
      "homer_factor": 0.96,
      "woba_minus_xwoba": -0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "607259",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0044,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0044,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.888,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.96,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9154,
        "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": 56.2,
    "ER": 24,
    "H": 55,
    "BB": 6,
    "SO": 40,
    "HR": 7,
    "ERA": 3.811764705882353,
    "WHIP": 1.076470588235294,
    "K9": 6.352941176470589,
    "HR9": 1.111764705882353,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "607259",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 77,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 77,
    "pitch_usage": 0.0,
    "release_speed": 87.20062905927892,
    "release_spin_rate": 2197.645020819482,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 87.20062905927892,
      "release_spin_rate": 2197.645020819482,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 87.2006,
    "release_spin_rate": 2197.645,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1492,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.0654,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "607259",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 26.1,
        "ER": 11.0,
        "R": 11.0,
        "H": 24.0,
        "BB": 4.0,
        "SO": 18.0,
        "HR": 4.0,
        "BF": 104.0,
        "Pitches": 374.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.2,
        "R": 2.2,
        "H": 4.8,
        "BB": 0.8,
        "SO": 3.6,
        "HR": 0.8,
        "BF": 20.8,
        "Pitches": 74.8
      },
      "rates": {
        "ERA": 3.7595,
        "WHIP": 1.0633,
        "ER_per_IP": 0.41772,
        "H_per_IP": 0.91139,
        "BB_per_IP": 0.1519,
        "SO_per_IP": 0.68354,
        "HR_per_IP": 0.1519
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 56.2,
        "ER": 24.0,
        "R": 24.0,
        "H": 55.0,
        "BB": 6.0,
        "SO": 40.0,
        "HR": 7.0,
        "BF": 225.0,
        "Pitches": 799.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.4,
        "R": 2.4,
        "H": 5.5,
        "BB": 0.6,
        "SO": 4.0,
        "HR": 0.7,
        "BF": 22.5,
        "Pitches": 79.9
      },
      "rates": {
        "ERA": 3.8118,
        "WHIP": 1.0765,
        "ER_per_IP": 0.42353,
        "H_per_IP": 0.97059,
        "BB_per_IP": 0.10588,
        "SO_per_IP": 0.70588,
        "HR_per_IP": 0.12353
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 180.0,
        "ER": 62.0,
        "R": 62.0,
        "H": 171.0,
        "BB": 26.0,
        "SO": 109.0,
        "HR": 22.0,
        "BF": 722.0,
        "Pitches": 2524.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.5161,
        "BB": 0.8387,
        "SO": 3.5161,
        "HR": 0.7097,
        "BF": 23.2903,
        "Pitches": 81.4194
      },
      "rates": {
        "ERA": 3.1,
        "WHIP": 1.0944,
        "ER_per_IP": 0.34444,
        "H_per_IP": 0.95,
        "BB_per_IP": 0.14444,
        "SO_per_IP": 0.60556,
        "HR_per_IP": 0.12222
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.327,
    "predicted_H": 5.239,
    "predicted_BB": 0.933,
    "predicted_SO": 3.941,
    "predicted_HR": 0.763,
    "predicted_ERA": 3.7818,
    "predicted_WHIP": 1.1146
  }
}
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": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 2.327,
      "final": 3.0107,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 8.0,
      "form": 5.239,
      "final": 6.3674,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 0.933,
      "final": 1.3691,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 3.941,
      "final": 4.7825,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.763,
      "final": 1.2685,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7818,
      "final": 3.7818,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1146,
      "final": 1.1146,
      "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": "20261007",
  "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": 0.0,
      "form": 0.154,
      "final": 0.0761,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.415,
      "final": 0.7111,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.196,
      "final": 0.6029,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.651,
      "final": 0.8276,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.05,
      "final": 0.0247,
      "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 IP1
Pre ER0
Pre H1
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": "20261007",
  "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": 1.0,
      "form": 0.288,
      "final": 0.6195,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.721,
      "final": 0.3853,
      "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."
}
FieldValue
PitcherCole Sulser
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1006
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1013
Avg Velo88.0544
Avg Spin2119.2007
HB Inches0
IVB Inches0
Release Extension0
Pre IP2.2000
Pre ER2
Pre H4
Pre BB0
Pre SO2
Season ERA3.8343
Season WHIP1.1893
Role Avg IP1.0900
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": "642121",
    "profile": {
      "available": true,
      "pitcher_id": "642121",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 209.0,
        "k_percent": 23.7,
        "bb_percent": 7.2,
        "woba": 0.306,
        "xwoba": 0.321,
        "sweet_spot_percent": 37.4,
        "barrel_batted_rate": 11.8,
        "hard_hit_percent": 41.1,
        "avg_best_speed": 75.7042,
        "avg_hyper_speed": 94.3453,
        "whiff_percent": 27.1,
        "swing_percent": 51.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2621,
        "command_and_miss": 0.2979,
        "regression_edge": -0.4286,
        "xwoba_edge": -0.2571,
        "barrel_edge": -1.0222,
        "hard_hit_edge": -0.4571,
        "whiff_edge": 0.2714,
        "bb_edge": 0.5,
        "pitch_design_score": -0.1013
      },
      "quality_score": -0.1006,
      "sample_weight": 0.836,
      "run_prevention_factor": 1.0085,
      "strikeout_factor": 1.0167,
      "walk_factor": 0.9666,
      "homer_factor": 1.0901,
      "woba_minus_xwoba": -0.015,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "642121",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0071,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0071,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9721,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0753,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.014,
        "adjusted": 2
      }
    }
  },
  "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": 2,
    "H": 6,
    "BB": 3,
    "SO": 8,
    "HR": 1,
    "ERA": 1.8,
    "WHIP": 0.9,
    "K9": 7.2,
    "HR9": 0.9,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642121",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 88.05442215361292,
    "release_spin_rate": 2119.2006534735324,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 88.05442215361292,
      "release_spin_rate": 2119.2006534735324,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.0544,
    "release_spin_rate": 2119.2007,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1013,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.7239,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.632,
    "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": "642121",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 50,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 1.2,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 1.0,
        "BF": 39.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.3,
        "SO": 0.8,
        "HR": 0.1,
        "BF": 3.9,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.9,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.3,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 50,
      "totals": {
        "IP": 56.1,
        "ER": 24.0,
        "R": 28.0,
        "H": 51.0,
        "BB": 16.0,
        "SO": 56.0,
        "HR": 7.0,
        "BF": 233.0,
        "Pitches": 925.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.48,
        "R": 0.56,
        "H": 1.02,
        "BB": 0.32,
        "SO": 1.12,
        "HR": 0.14,
        "BF": 4.66,
        "Pitches": 18.5
      },
      "rates": {
        "ERA": 3.8343,
        "WHIP": 1.1893,
        "ER_per_IP": 0.42604,
        "H_per_IP": 0.90533,
        "BB_per_IP": 0.28402,
        "SO_per_IP": 0.99408,
        "HR_per_IP": 0.12426
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.293,
    "predicted_H": 0.739,
    "predicted_BB": 0.318,
    "predicted_SO": 0.894,
    "predicted_HR": 0.078,
    "predicted_ERA": 2.9336,
    "predicted_WHIP": 1.1749
  }
}
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.632,
    "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.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.293,
      "final": 0.1532,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.739,
      "final": 0.3865,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.318,
      "final": 0.1663,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.894,
      "final": 0.4676,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.078,
      "final": 0.0408,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9336,
      "final": 2.9336,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1749,
      "final": 1.1749,
      "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 20261007: 663
All-history rows before 20261007: 663
System season_avg: 0.2940
Data season_avg (2026 season-to-date): 0.2987
Diff (system - data): -0.0047
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.1680.0000.000Hitting_2B0.1730.000-0.1730.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.0000.000Hitting_AVG0.2990.250-0.299-0.250
predicted_BB0.3681.0001.000Hitting_BB0.3631.0000.6370.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.3500.0000.000Hitting_H1.2171.000-1.217-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.3630.2000.200Hitting_OBP0.3630.400-0.163-0.200
predicted_R0.6061.0001.000Hitting_R0.6141.0000.3860.000
predicted_RBI0.4900.0000.000Hitting_RBI0.5780.000-0.5780.000
predicted_SLG0.4150.0000.000Hitting_SLG0.4540.250-0.454-0.250
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 Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_BB: 0.3680 -> 1.0000 (boost 0.6320, better)
Biggest Deboostpredicted_H: 1.3500 -> 0.0000 (deboost -1.3500, 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.3208 (deboost -0.0400, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling70716-predicted_AB: 4.6845 -> 4.0000 (deboost -0.6845, worse)AB rounded to 4 (raw=5.23), rates preserved: AVG=0.219 HR/AB=0.022
6bvp_blend11001predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.6542 -> 1.0000 (boost 0.3458, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.5201 (boost 0.5201, better)predicted_SO: 1.0000 -> 0.7348 (deboost -0.2652, 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_allocation83526predicted_BB: 0.3969 -> 1.0000 (boost 0.6031, better)predicted_RBI: 0.5201 -> 0.0000 (deboost -0.5201, 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_environment44040predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
12market_blend00000--Market blend not applied: no props for this hitter
13play_by_play_realization30312-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_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.35,
        "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.2646,
        "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.35,
          "after": 1.2646,
          "delta": -0.0854,
          "percent_delta": -0.0633,
          "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.2658,
        "predicted_BB": 0.3798,
        "predicted_H": 1.245,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1145,
        "predicted_OBP": 0.3208,
        "predicted_R": 0.6542,
        "predicted_RBI": 0.4451,
        "predicted_SLG": 0.3765,
        "predicted_SO": 0.5974
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2725,
          "after": 0.2658,
          "delta": -0.0067,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3608,
          "after": 0.3208,
          "delta": -0.04,
          "percent_delta": -0.1109,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4077,
          "after": 0.3765,
          "delta": -0.0312,
          "percent_delta": -0.0765,
          "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.3208,
          "delta": -0.04,
          "percent_delta": -0.1109,
          "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.219 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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.245,
          "after": 1.0,
          "delta": -0.245,
          "percent_delta": -0.1968,
          "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": 0.0,
          "delta": -0.5974,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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=20.0, weight=0.160, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.84,
        "bvp": 0.16
      }
    },
    {
      "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.1704,
        "predicted_3B": 0.0121,
        "predicted_BB": 0.3969,
        "predicted_H": 0.9812,
        "predicted_HR": 0.1519,
        "predicted_RBI": 0.5201,
        "predicted_SO": 0.7348
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1704,
          "delta": 0.1704,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3969,
          "delta": 0.3969,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1519,
          "delta": 0.1519,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5201,
          "delta": 0.5201,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7348,
          "delta": -0.2652,
          "percent_delta": -0.2652,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5201,
          "delta": 0.5201,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7348,
          "delta": -0.2652,
          "percent_delta": -0.2652,
          "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.242,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.402,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1704,
          "after": 0.0,
          "delta": -0.1704,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2658,
          "after": 0.242,
          "delta": -0.0238,
          "percent_delta": -0.0895,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3969,
          "after": 1.0,
          "delta": 0.6031,
          "percent_delta": 1.5195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1519,
          "after": 0.0,
          "delta": -0.1519,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3208,
          "after": 0.315,
          "delta": -0.0058,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5201,
          "after": 0.0,
          "delta": -0.5201,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3765,
          "after": 0.402,
          "delta": 0.0255,
          "percent_delta": 0.0677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7348,
          "after": 1.0,
          "delta": 0.2652,
          "percent_delta": 0.3609,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3969,
          "after": 1.0,
          "delta": 0.6031,
          "percent_delta": 1.5195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5201,
          "after": 0.0,
          "delta": -0.5201,
          "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.242,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.402,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.26,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.432,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.26,
          "delta": 0.018,
          "percent_delta": 0.0744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.336,
          "delta": 0.021,
          "percent_delta": 0.0667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.432,
          "delta": 0.03,
          "percent_delta": 0.0746,
          "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_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": "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": 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": 0.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": 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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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": 0.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": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.26,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.432,
        "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.168,
        "after": 0.0,
        "delta": -0.168,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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_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": 1.35,
        "after": 0.0,
        "delta": -1.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.363,
        "after": 0.336,
        "delta": -0.027,
        "percent_delta": -0.0744,
        "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.432,
        "delta": 0.017,
        "percent_delta": 0.041,
        "direction": "boost",
        "projection_effect": "better",
        "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": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "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_H",
        "before": 1.35,
        "after": 0.0,
        "delta": -1.35,
        "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.168-
predicted_3B0.006-
predicted_AB5.230-
predicted_AVG0.259-
predicted_BB0.368-
predicted_H1.350-
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.265-0.085
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.266-0.007
predicted_BB0.3800.000
predicted_H1.245-0.020
predicted_HBP0.0390.000
predicted_HR0.115-0.002
predicted_OBP0.321-0.040
predicted_R0.654-0.016
predicted_RBI0.445-0.011
predicted_SLG0.377-0.031
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.219 HR/AB=0.022

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

Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.200)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1700.170
3B0.0120.012
BB0.3970.397
H0.981-0.019
HR0.1520.152
RBI0.5200.520
SO0.735-0.265
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.170
3B0.000-0.012
AB4.0000.000
AVG0.242-
BB1.0000.603
H1.0000.019
HR0.000-0.152
OBP0.315-
R1.0000.000
RBI0.000-0.520
SLG0.402-
SO1.0000.265
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.242-0.024
predicted_BB1.0000.620
predicted_H1.000-0.245
predicted_HR0.000-0.115
predicted_OBP0.315-0.006
predicted_R1.0000.346
predicted_RBI0.000-0.445
predicted_SLG0.4020.026
predicted_SO1.0000.403
11. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
AVG0.2600.018
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3360.021
R1.0000.000
RBI0.0000.000
SLG0.4320.030
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.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
BB1.0000.000
H0.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: 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.35001.15501.2646model_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
PA5
AB4
H0
2B0
3B0
HR0
R1
RBI0
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.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 20261007: 644
All-history rows before 20261007: 644
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2834
Diff (system - data): -0.0074
System opponent_avg: 0.0910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1730.0000.000Hitting_2B0.1750.000-0.1750.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3903.0003.000Hitting_AB3.9075.000-0.907-2.000
predicted_AVG0.2490.3330.333Hitting_AVG0.2830.4000.050-0.067
predicted_BB0.4361.0001.000Hitting_BB0.4600.0000.5401.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.1001.0001.000Hitting_H1.1072.000-0.107-1.000
predicted_HR0.2001.0001.000Hitting_HR0.1520.0000.8481.000
predicted_OBP0.3380.5000.500Hitting_OBP0.3640.4000.1360.100
predicted_R0.4812.0002.000Hitting_R0.5171.0001.4831.000
predicted_RBI0.5601.0001.000Hitting_RBI0.6540.0000.3461.000
predicted_SLG0.4381.3331.333Hitting_SLG0.4450.4000.8880.933
predicted_SO1.0380.0000.000Hitting_SO1.0670.000-1.0670.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_R: 0.4810 -> 2.0000 (boost 1.5190, better)
Biggest Deboostpredicted_AB: 4.3900 -> 3.0000 (deboost -1.3900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_AVG: 0.2490 -> 0.2566 (boost 0.0076, 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.216 HR/AB=0.042
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
7consistency_constraints10101-predicted_R: 0.4479 -> 0.0000 (deboost -0.4479, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.6194 (boost 0.6194, 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_allocation93645predicted_BB: 0.3854 -> 1.0000 (boost 0.6146, better)predicted_SO: 1.2718 -> 1.0000 (deboost -0.2718, 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
11kpi_run_environment44040predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
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_realization42231predicted_HR: 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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.4400 -> 0.4190 (deboost -0.0210, 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": "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.249,
        "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.438,
        "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.2566,
        "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.4448,
        "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.249,
          "after": 0.2566,
          "delta": 0.0076,
          "percent_delta": 0.0305,
          "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.438,
          "after": 0.4448,
          "delta": 0.0068,
          "percent_delta": 0.0155,
          "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.249,
          "after": 0.2566,
          "delta": 0.0076,
          "percent_delta": 0.0305,
          "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.4448,
          "after": 0.4307,
          "delta": -0.0141,
          "percent_delta": -0.0317,
          "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.216 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=11.0, weight=0.107, BvP AVG=0.091)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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.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.1546,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.3854,
        "predicted_H": 0.8845,
        "predicted_HR": 0.1742,
        "predicted_RBI": 0.6194,
        "predicted_SO": 1.2718
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1546,
          "delta": 0.1546,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3854,
          "delta": 0.3854,
          "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.1742,
          "delta": 0.1742,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.6194,
          "delta": 0.6194,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2718,
          "delta": 0.2718,
          "percent_delta": 0.2718,
          "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.6194,
          "delta": 0.6194,
          "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.41,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1546,
          "after": 0.0,
          "delta": -0.1546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2528,
          "after": 0.229,
          "delta": -0.0238,
          "percent_delta": -0.0941,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3854,
          "after": 1.0,
          "delta": 0.6146,
          "percent_delta": 1.5947,
          "direction": "boost",
          "projection_effect": "better",
          "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.1742,
          "after": 0.0,
          "delta": -0.1742,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3248,
          "after": 0.305,
          "delta": -0.0198,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6194,
          "after": 1.0,
          "delta": 0.3806,
          "percent_delta": 0.6145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4307,
          "after": 0.41,
          "delta": -0.0207,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2718,
          "after": 1.0,
          "delta": -0.2718,
          "percent_delta": -0.2137,
          "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.3854,
          "after": 1.0,
          "delta": 0.6146,
          "percent_delta": 1.5947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2718,
          "after": 1.0,
          "delta": -0.2718,
          "percent_delta": -0.2137,
          "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.229,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.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": "kpi_run_environment",
      "description": "KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.246,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.246,
          "delta": 0.017,
          "percent_delta": 0.0742,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.324,
          "delta": 0.019,
          "percent_delta": 0.0623,
          "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_SLG",
          "before": 0.41,
          "after": 0.44,
          "delta": 0.03,
          "percent_delta": 0.0732,
          "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_R",
          "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": "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 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": 3.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.317,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.419,
        "predicted_SO": 0.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.239,
          "delta": -0.007,
          "percent_delta": -0.0285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.317,
          "delta": -0.007,
          "percent_delta": -0.0216,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.419,
          "delta": -0.021,
          "percent_delta": -0.0477,
          "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.44,
          "after": 0.419,
          "delta": -0.021,
          "percent_delta": -0.0477,
          "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.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": 3.0,
        "delta": -1.39,
        "percent_delta": -0.3166,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.239,
        "delta": -0.01,
        "percent_delta": -0.0402,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.436,
        "after": 1.0,
        "delta": 0.564,
        "percent_delta": 1.2936,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 1.0,
        "delta": -0.1,
        "percent_delta": -0.0909,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.338,
        "after": 0.317,
        "delta": -0.021,
        "percent_delta": -0.0621,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.481,
        "after": 2.0,
        "delta": 1.519,
        "percent_delta": 3.158,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.438,
        "after": 0.419,
        "delta": -0.019,
        "percent_delta": -0.0434,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.038,
        "after": 0.0,
        "delta": -1.038,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.481,
        "after": 2.0,
        "delta": 1.519,
        "percent_delta": 3.158,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.39,
        "after": 3.0,
        "delta": -1.39,
        "percent_delta": -0.3166,
        "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.249-
predicted_BB0.436-
predicted_H1.100-
predicted_HR0.200-
predicted_OBP0.338-
predicted_R0.481-
predicted_RBI0.560-
predicted_SLG0.438-
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.008
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.007
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.014
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.216 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=11.0, weight=0.107, BvP AVG=0.091)

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.0100.010
BB0.3850.385
H0.884-0.116
HR0.1740.174
RBI0.6190.619
SO1.2720.272
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.010
AB4.0000.000
AVG0.229-
BB1.0000.615
H1.0000.116
HR0.000-0.174
OBP0.305-
R0.0000.000
RBI1.0000.381
SLG0.410-
SO1.000-0.272
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.229-0.024
predicted_BB1.0000.565
predicted_H1.000-0.031
predicted_HR0.000-0.182
predicted_OBP0.305-0.020
predicted_R0.000-0.448
predicted_RBI1.0000.498
predicted_SLG0.410-0.021
predicted_SO1.000-0.037
11. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2460.017
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3240.019
R1.0001.000
RBI1.0000.000
SLG0.4400.030
SO1.0000.000
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
AB3.000-1.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R2.0001.000
RBI1.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
AB3.0000.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R2.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: 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.24900.26640.2566model_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.43800.45350.4448model_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
AB3
H1
2B0
3B0
HR1
R2
RBI1
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_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 20261007: 674
All-history rows before 20261007: 674
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2845
Diff (system - data): -0.0075
System opponent_avg: 0.1330

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.5000.500Hitting_AVG0.2850.5000.2150.000
predicted_BB0.4970.0000.000Hitting_BB0.5360.000-0.5360.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H1.0502.0002.000Hitting_H1.1072.0000.8930.000
predicted_HR0.2400.0000.000Hitting_HR0.2770.000-0.2770.000
predicted_OBP0.3670.5000.500Hitting_OBP0.3730.5000.1270.000
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.5000.500Hitting_SLG0.5430.750-0.043-0.250
predicted_SO0.7910.0000.000Hitting_SO0.7880.000-0.7880.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_H: 1.0500 -> 2.0000 (boost 0.9500, better)
Biggest Deboostpredicted_SO: 0.7910 -> 0.0000 (deboost -0.7910, better)
#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_snapshot20202-predicted_SLG: 0.5064 -> 0.4835 (deboost -0.0229, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.5593 -> 1.0000 (boost 0.4407, better)predicted_BB: 0.4878 -> 0.0000 (deboost -0.4878, worse)AB rounded to 4 (raw=4.08), rates preserved: AVG=0.229 HR/AB=0.055
6bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.133)
7consistency_constraints11010predicted_R: 0.6410 -> 1.0000 (boost 0.3590, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.4806 (boost 0.4806, better)predicted_RBI: 1.0000 -> 0.5227 (deboost -0.4773, 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.2312 -> 1.0000 (boost 0.7688, better)predicted_2B: 0.1944 -> 0.0000 (deboost -0.1944, 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_environment33030predicted_SLG: 0.4740 -> 0.5090 (boost 0.0350, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
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_realization51423predicted_H: 1.0000 -> 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final11010predicted_AVG: 0.2450 -> 0.2570 (boost 0.0120, 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": "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.05,
        "predicted_HR": 0.24,
        "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.0338,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2269,
        "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.2641,
        "predicted_BB": 0.4878,
        "predicted_H": 1.0178,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2225,
        "predicted_OBP": 0.3467,
        "predicted_R": 0.641,
        "predicted_RBI": 0.5593,
        "predicted_SLG": 0.4835,
        "predicted_SO": 0.7792
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3677,
          "after": 0.3467,
          "delta": -0.021,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5064,
          "after": 0.4835,
          "delta": -0.0229,
          "percent_delta": -0.0452,
          "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.5064,
          "after": 0.4835,
          "delta": -0.0229,
          "percent_delta": -0.0452,
          "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.229 HR/AB=0.055",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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": 0.0,
          "delta": -0.4878,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2225,
          "after": 0.0,
          "delta": -0.2225,
          "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": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5593,
          "after": 1.0,
          "delta": 0.4407,
          "percent_delta": 0.7879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4878,
          "after": 0.0,
          "delta": -0.4878,
          "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.133)",
      "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.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.1944,
        "predicted_3B": 0.0111,
        "predicted_BB": 0.4806,
        "predicted_H": 0.8411,
        "predicted_HR": 0.2312,
        "predicted_RBI": 0.5227,
        "predicted_SO": 0.803
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1944,
          "delta": 0.1944,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4806,
          "delta": 0.4806,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8411,
          "delta": -0.1589,
          "percent_delta": -0.1589,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2312,
          "delta": 0.2312,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5227,
          "delta": -0.4773,
          "percent_delta": -0.4773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.803,
          "delta": -0.197,
          "percent_delta": -0.197,
          "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.4806,
          "delta": 0.4806,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5227,
          "delta": -0.4773,
          "percent_delta": -0.4773,
          "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.228,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.474,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1944,
          "after": 0.0,
          "delta": -0.1944,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2641,
          "after": 0.228,
          "delta": -0.0361,
          "percent_delta": -0.1367,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4806,
          "after": 1.0,
          "delta": 0.5194,
          "percent_delta": 1.0807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8411,
          "after": 1.0,
          "delta": 0.1589,
          "percent_delta": 0.1889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2312,
          "after": 1.0,
          "delta": 0.7688,
          "percent_delta": 3.3253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3467,
          "after": 0.322,
          "delta": -0.0247,
          "percent_delta": -0.0712,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5227,
          "after": 1.0,
          "delta": 0.4773,
          "percent_delta": 0.9131,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4835,
          "after": 0.474,
          "delta": -0.0095,
          "percent_delta": -0.0196,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.803,
          "after": 1.0,
          "delta": 0.197,
          "percent_delta": 0.2453,
          "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.2312,
          "after": 1.0,
          "delta": 0.7688,
          "percent_delta": 3.3253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1944,
          "after": 0.0,
          "delta": -0.1944,
          "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.228,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.474,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.245,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.342,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.509,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.245,
          "delta": 0.017,
          "percent_delta": 0.0746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.342,
          "delta": 0.02,
          "percent_delta": 0.0621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.474,
          "after": 0.509,
          "delta": 0.035,
          "percent_delta": 0.0738,
          "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.474,
          "after": 0.509,
          "delta": 0.035,
          "percent_delta": 0.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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_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": 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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.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": 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.257,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.341,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.506,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.257,
          "delta": 0.012,
          "percent_delta": 0.049,
          "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.245,
          "after": 0.257,
          "delta": 0.012,
          "percent_delta": 0.049,
          "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.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_BB",
        "before": 0.497,
        "after": 0.0,
        "delta": -0.497,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 2.0,
        "delta": 0.95,
        "percent_delta": 0.9048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.367,
        "after": 0.341,
        "delta": -0.026,
        "percent_delta": -0.0708,
        "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.506,
        "delta": 0.005,
        "percent_delta": 0.01,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.791,
        "after": 0.0,
        "delta": -0.791,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 2.0,
        "delta": 0.95,
        "percent_delta": 0.9048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.791,
        "after": 0.0,
        "delta": -0.791,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.006-
predicted_AB4.080-
predicted_AVG0.256-
predicted_BB0.497-
predicted_H1.050-
predicted_HR0.240-
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.034-0.016
predicted_HBP0.015-
predicted_HR0.227-0.013
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.264-0.004
predicted_BB0.4880.000
predicted_H1.018-0.016
predicted_HBP0.0150.000
predicted_HR0.223-0.004
predicted_OBP0.347-0.021
predicted_R0.641-0.015
predicted_RBI0.559-0.013
predicted_SLG0.483-0.023
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.229 HR/AB=0.055

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

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

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.1940.194
3B0.0110.011
BB0.4810.481
H0.841-0.159
HR0.2310.231
RBI0.523-0.477
SO0.803-0.197
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.194
3B0.000-0.011
AB4.0000.000
AVG0.228-
BB1.0000.519
H1.0000.159
HR1.0000.769
OBP0.322-
R1.0000.000
RBI1.0000.477
SLG0.474-
SO1.0000.197
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.228-0.036
predicted_BB1.0000.512
predicted_H1.000-0.018
predicted_HR1.0000.777
predicted_OBP0.322-0.025
predicted_R1.0000.359
predicted_RBI1.0000.441
predicted_SLG0.474-0.010
predicted_SO1.0000.221
11. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2450.017
BB1.0000.000
H1.0000.000
HR1.0000.000
OBP0.3420.020
R1.0000.000
RBI1.0000.000
SLG0.5090.035
SO1.0000.000
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
BB0.000-1.000
H2.0001.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI1.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
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.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: 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.05001.01301.0338model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.24000.21000.2269model_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
H2
2B0
3B0
HR0
R0
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_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 20261007: 243
All-history rows before 20261007: 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.3064.0004.000Hitting_AB3.4203.0000.5801.000
predicted_AVG0.2610.0000.000Hitting_AVG0.2620.333-0.262-0.333
predicted_BB0.3060.0000.000Hitting_BB0.3370.000-0.3370.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.8610.0000.000Hitting_H0.8971.000-0.897-1.000
predicted_HR0.1940.0000.000Hitting_HR0.2140.000-0.2140.000
predicted_OBP0.3230.0000.000Hitting_OBP0.3280.333-0.328-0.333
predicted_R0.5140.0000.000Hitting_R0.5560.000-0.5560.000
predicted_RBI0.4720.0000.000Hitting_RBI0.5270.000-0.5270.000
predicted_SLG0.4960.0000.000Hitting_SLG0.5130.333-0.513-0.333
predicted_SO0.7502.0002.000Hitting_SO0.7241.0001.2761.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.7500 -> 2.0000 (boost 1.2500, worse)
Biggest Deboostpredicted_H: 0.8610 -> 0.0000 (deboost -0.8610, worse)
#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.243 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.3485 (boost 0.3485, 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.8298 -> 1.0000 (boost 0.1702, 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
10kpi_run_environment33030predicted_SLG: 0.4430 -> 0.4760 (boost 0.0330, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
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_realization31203predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_SLG: 0.4760 -> 0.4340 (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": "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.243 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.3485,
        "predicted_H": 0.8298,
        "predicted_HR": 0.2009,
        "predicted_RBI": 0.5097,
        "predicted_SO": 0.9724
      },
      "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.3485,
          "delta": 0.3485,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8298,
          "delta": -0.1702,
          "percent_delta": -0.1702,
          "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.3485,
          "delta": 0.3485,
          "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.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.443,
        "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.225,
          "delta": -0.0391,
          "percent_delta": -0.148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3485,
          "after": 0.0,
          "delta": -0.3485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8298,
          "after": 1.0,
          "delta": 0.1702,
          "percent_delta": 0.2051,
          "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.298,
          "delta": -0.0253,
          "percent_delta": -0.0783,
          "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.443,
          "delta": -0.0317,
          "percent_delta": -0.0668,
          "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.8298,
          "after": 1.0,
          "delta": 0.1702,
          "percent_delta": 0.2051,
          "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.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.443,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.476,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.242,
          "delta": 0.017,
          "percent_delta": 0.0756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.317,
          "delta": 0.019,
          "percent_delta": 0.0638,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.443,
          "after": 0.476,
          "delta": 0.033,
          "percent_delta": 0.0745,
          "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.443,
          "after": 0.476,
          "delta": 0.033,
          "percent_delta": 0.0745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.434,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.223,
          "delta": -0.019,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.281,
          "delta": -0.036,
          "percent_delta": -0.1136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.476,
          "after": 0.434,
          "delta": -0.042,
          "percent_delta": -0.0882,
          "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.476,
          "after": 0.434,
          "delta": -0.042,
          "percent_delta": -0.0882,
          "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.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": 4.0,
        "delta": 0.694,
        "percent_delta": 0.2099,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.261,
        "after": 0.223,
        "delta": -0.038,
        "percent_delta": -0.1456,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.861,
        "after": 0.0,
        "delta": -0.861,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.323,
        "after": 0.281,
        "delta": -0.042,
        "percent_delta": -0.13,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.514,
        "after": 0.0,
        "delta": -0.514,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.472,
        "after": 0.0,
        "delta": -0.472,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.496,
        "after": 0.434,
        "delta": -0.062,
        "percent_delta": -0.125,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 2.0,
        "delta": 1.25,
        "percent_delta": 1.6667,
        "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.75,
        "after": 2.0,
        "delta": 1.25,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.861,
        "after": 0.0,
        "delta": -0.861,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.111-
predicted_3B0.042-
predicted_AB3.306-
predicted_AVG0.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.243 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.3480.348
H0.830-0.170
HR0.2010.201
RBI0.510-0.490
SO0.972-0.028
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.158
3B0.000-0.021
AB4.0000.000
AVG0.225-
BB0.000-0.348
H1.0000.170
HR0.000-0.201
OBP0.298-
R1.0000.000
RBI0.000-0.510
SLG0.443-
SO1.0000.028
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.140
predicted_3B0.000-0.035
predicted_AB4.0000.598
predicted_AVG0.225-0.039
predicted_BB0.000-0.298
predicted_H1.0000.102
predicted_HR0.000-0.169
predicted_OBP0.298-0.025
predicted_R1.0000.493
predicted_RBI0.000-0.465
predicted_SLG0.443-0.032
predicted_SO1.0000.209
10. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2420.017
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3170.019
R1.0000.000
RBI0.0000.000
SLG0.4760.033
SO1.0000.000
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.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
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: 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
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 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 20261007: 258
All-history rows before 20261007: 258
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2747
Diff (system - data): -0.0297
System opponent_avg: 0.1980
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.7083.0003.000Hitting_AB3.0622.000-0.0621.000
predicted_AVG0.2200.3330.333Hitting_AVG0.2750.0000.0590.333
predicted_BB0.2701.0001.000Hitting_BB0.3100.0000.6901.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.3201.0001.000Hitting_H0.8410.0000.1591.000
predicted_HR0.0600.0000.000Hitting_HR0.1470.000-0.1470.000
predicted_OBP0.2740.5000.500Hitting_OBP0.3440.0000.1560.500
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.3330.333Hitting_SLG0.4850.000-0.1510.333
predicted_SO0.7302.0002.000Hitting_SO0.7750.0001.2252.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_SO: 0.7300 -> 2.0000 (boost 1.2700, worse)
Biggest Deboostpredicted_R: 0.3150 -> 0.0000 (deboost -0.3150, 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.141 HR/AB=0.024
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.3052 -> 0.0000 (deboost -0.3052, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.5340 (boost 0.5340, better)predicted_H: 1.0000 -> 0.7576 (deboost -0.2424, 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_allocation85353predicted_RBI: 0.5340 -> 1.0000 (boost 0.4660, better)predicted_BB: 0.3601 -> 0.0000 (deboost -0.3601, 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_environment33030predicted_SLG: 0.4060 -> 0.4360 (boost 0.0300, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
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_BB: 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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3170 -> 0.2880 (deboost -0.0290, 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": "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.22,
        "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.2137,
        "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.22,
          "after": 0.2137,
          "delta": -0.0063,
          "percent_delta": -0.0286,
          "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.2137,
          "after": 0.1539,
          "delta": -0.0598,
          "percent_delta": -0.2798,
          "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.141 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": "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.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": 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.1492,
        "predicted_3B": 0.018,
        "predicted_BB": 0.3601,
        "predicted_H": 0.7576,
        "predicted_HR": 0.155,
        "predicted_RBI": 0.534,
        "predicted_SO": 0.9705
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1492,
          "delta": 0.1492,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3601,
          "delta": 0.3601,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7576,
          "delta": -0.2424,
          "percent_delta": -0.2424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.155,
          "delta": 0.155,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.534,
          "delta": 0.534,
          "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.534,
          "delta": 0.534,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7576,
          "delta": -0.2424,
          "percent_delta": -0.2424,
          "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.218,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1492,
          "after": 0.0,
          "delta": -0.1492,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1539,
          "after": 0.218,
          "delta": 0.0641,
          "percent_delta": 0.4165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3601,
          "after": 0.0,
          "delta": -0.3601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7576,
          "after": 1.0,
          "delta": 0.2424,
          "percent_delta": 0.32,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.155,
          "after": 0.0,
          "delta": -0.155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2297,
          "after": 0.298,
          "delta": 0.0683,
          "percent_delta": 0.2973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.534,
          "after": 1.0,
          "delta": 0.466,
          "percent_delta": 0.8727,
          "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
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.534,
          "after": 1.0,
          "delta": 0.466,
          "percent_delta": 0.8727,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3601,
          "after": 0.0,
          "delta": -0.3601,
          "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.218,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.436,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.235,
          "delta": 0.017,
          "percent_delta": 0.078,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.317,
          "delta": 0.019,
          "percent_delta": 0.0638,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.436,
          "delta": 0.03,
          "percent_delta": 0.0739,
          "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.406,
          "after": 0.436,
          "delta": 0.03,
          "percent_delta": 0.0739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 3.0,
        "predicted_BB": 1.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_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
        },
        {
          "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_BB",
          "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": 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": 3.0,
        "predicted_BB": 1.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": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 1.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.421,
        "predicted_SO": 2.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.22,
          "delta": -0.015,
          "percent_delta": -0.0638,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.288,
          "delta": -0.029,
          "percent_delta": -0.0915,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.421,
          "delta": -0.015,
          "percent_delta": -0.0344,
          "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.317,
          "after": 0.288,
          "delta": -0.029,
          "percent_delta": -0.0915,
          "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.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": 3.0,
        "delta": 0.292,
        "percent_delta": 0.1078,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.27,
        "after": 1.0,
        "delta": 0.73,
        "percent_delta": 2.7037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.32,
        "after": 1.0,
        "delta": 0.68,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.057,
        "after": 0.0,
        "delta": -0.057,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.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.288,
        "delta": 0.014,
        "percent_delta": 0.0511,
        "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.421,
        "delta": 0.076,
        "percent_delta": 0.2203,
        "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": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.73,
        "after": 2.0,
        "delta": 1.27,
        "percent_delta": 1.7397,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.315,
        "after": 0.0,
        "delta": -0.315,
        "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.220-
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.006
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.141 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. 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.1490.149
3B0.0180.018
BB0.3600.360
H0.758-0.242
HR0.1550.155
RBI0.5340.534
SO0.971-0.029
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.018
AB3.0000.000
AVG0.218-
BB0.000-0.360
H1.0000.242
HR0.000-0.155
OBP0.298-
R0.0000.000
RBI1.0000.466
SLG0.406-
SO1.0000.029
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.080
predicted_3B0.000-0.019
predicted_AB3.0000.202
predicted_AVG0.2180.064
predicted_BB0.000-0.276
predicted_H1.0000.569
predicted_HR0.000-0.068
predicted_OBP0.2980.068
predicted_R0.000-0.305
predicted_RBI1.0000.673
predicted_SLG0.4060.137
predicted_SO1.0000.238
11. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2350.017
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3170.019
R0.0000.000
RBI1.0000.000
SLG0.4360.030
SO1.0000.000
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
AB3.0000.000
BB1.0001.000
H1.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
AB3.0000.000
BB1.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: 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.22000.20500.2137model_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
AB3
H1
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_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 20261007: 125
All-history rows before 20261007: 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.2240.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.8301.0001.000Hitting_H1.0640.000-0.0641.000
predicted_HR0.0900.0000.000Hitting_HR0.1440.000-0.1440.000
predicted_OBP0.3450.2500.250Hitting_OBP0.4090.000-0.1590.250
predicted_R0.4580.0000.000Hitting_R0.3680.000-0.3680.000
predicted_RBI0.4900.0000.000Hitting_RBI0.7361.000-0.736-1.000
predicted_SLG0.3730.2500.250Hitting_SLG0.5060.000-0.2560.250
predicted_SO0.3821.0001.000Hitting_SO0.3440.0000.6561.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 0.3820 -> 1.0000 (boost 0.6180, worse)
Biggest Deboostpredicted_RBI: 0.4900 -> 0.0000 (deboost -0.4900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_H: 0.8300 -> 0.8848 (boost 0.0548, 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.3445 -> 0.3127 (deboost -0.0318, 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.8711 -> 1.0000 (boost 0.1289, better)predicted_AB: 3.6421 -> 3.0000 (deboost -0.6421, worse)AB rounded to 3 (raw=3.71), rates preserved: AVG=0.216 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.8391 (deboost -0.1609, 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_allocation73443predicted_RBI: 0.5781 -> 1.0000 (boost 0.4219, better)predicted_SO: 0.5006 -> 0.0000 (deboost -0.5006, 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_environment33030predicted_SLG: 0.4050 -> 0.4350 (boost 0.0300, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
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_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
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_SLG: 0.4350 -> 0.3850 (deboost -0.0500, 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": "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.224,
        "predicted_BB": 0.396,
        "predicted_H": 0.83,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.345,
        "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.2435,
        "predicted_BB": 0.3899,
        "predicted_H": 0.8848,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0861,
        "predicted_OBP": 0.3445,
        "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.224,
          "after": 0.2435,
          "delta": 0.0195,
          "percent_delta": 0.0871,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 0.8848,
          "delta": 0.0548,
          "percent_delta": 0.066,
          "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_H",
          "before": 0.83,
          "after": 0.8848,
          "delta": 0.0548,
          "percent_delta": 0.066,
          "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.2392,
        "predicted_BB": 0.3899,
        "predicted_H": 0.8711,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0844,
        "predicted_OBP": 0.3127,
        "predicted_R": 0.4187,
        "predicted_RBI": 0.4883,
        "predicted_SLG": 0.3584,
        "predicted_SO": 0.3959
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3445,
          "after": 0.3127,
          "delta": -0.0318,
          "percent_delta": -0.0923,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3876,
          "after": 0.3584,
          "delta": -0.0292,
          "percent_delta": -0.0753,
          "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.3445,
          "after": 0.3127,
          "delta": -0.0318,
          "percent_delta": -0.0923,
          "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.216 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.8711,
          "after": 1.0,
          "delta": 0.1289,
          "percent_delta": 0.148,
          "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.8711,
          "after": 1.0,
          "delta": 0.1289,
          "percent_delta": 0.148,
          "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.35,
        "predicted_H": 0.8391,
        "predicted_HR": 0.1371,
        "predicted_RBI": 0.5781,
        "predicted_SO": 0.5006
      },
      "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.35,
          "delta": 0.35,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8391,
          "delta": -0.1609,
          "percent_delta": -0.1609,
          "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.5006,
          "delta": 0.5006,
          "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.8391,
          "delta": -0.1609,
          "percent_delta": -0.1609,
          "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.24,
        "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.405,
        "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_BB",
          "before": 0.35,
          "after": 0.0,
          "delta": -0.35,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8391,
          "after": 1.0,
          "delta": 0.1609,
          "percent_delta": 0.1918,
          "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.3584,
          "after": 0.405,
          "delta": 0.0466,
          "percent_delta": 0.13,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5006,
          "after": 0.0,
          "delta": -0.5006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.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.5006,
          "after": 0.0,
          "delta": -0.5006,
          "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.24,
        "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.405,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.335,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.435,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.258,
          "delta": 0.018,
          "percent_delta": 0.075,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.335,
          "delta": 0.02,
          "percent_delta": 0.0635,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.435,
          "delta": 0.03,
          "percent_delta": 0.0741,
          "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.405,
          "after": 0.435,
          "delta": 0.03,
          "percent_delta": 0.0741,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_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": 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.23,
        "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.308,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.385,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.23,
          "delta": -0.028,
          "percent_delta": -0.1085,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.308,
          "delta": -0.027,
          "percent_delta": -0.0806,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.385,
          "delta": -0.05,
          "percent_delta": -0.1149,
          "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.435,
          "after": 0.385,
          "delta": -0.05,
          "percent_delta": -0.1149,
          "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.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_AVG",
        "before": 0.224,
        "after": 0.23,
        "delta": 0.006,
        "percent_delta": 0.0268,
        "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.83,
        "after": 1.0,
        "delta": 0.17,
        "percent_delta": 0.2048,
        "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.345,
        "after": 0.308,
        "delta": -0.037,
        "percent_delta": -0.1072,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.458,
        "after": 0.0,
        "delta": -0.458,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.373,
        "after": 0.385,
        "delta": 0.012,
        "percent_delta": 0.0322,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.118-
predicted_3B0.007-
predicted_AB3.710-
predicted_AVG0.224-
predicted_BB0.396-
predicted_H0.830-
predicted_HR0.090-
predicted_OBP0.345-
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.2430.019
predicted_BB0.390-0.006
predicted_H0.8850.055
predicted_HBP0.047-
predicted_HR0.086-0.004
predicted_OBP0.344-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.239-0.004
predicted_BB0.3900.000
predicted_H0.871-0.014
predicted_HBP0.0470.000
predicted_HR0.084-0.002
predicted_OBP0.313-0.032
predicted_R0.419-0.010
predicted_RBI0.488-0.012
predicted_SLG0.358-0.029
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.216 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.3500.350
H0.839-0.161
HR0.1370.137
RBI0.5780.578
SO0.5010.501
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.240-
BB0.000-0.350
H1.0000.161
HR0.000-0.137
OBP0.315-
R0.0000.000
RBI1.0000.422
SLG0.405-
SO0.000-0.501
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.2400.001
predicted_BB0.000-0.390
predicted_H1.0000.129
predicted_HR0.000-0.084
predicted_OBP0.3150.002
predicted_R0.000-0.419
predicted_RBI1.0000.512
predicted_SLG0.4050.047
predicted_SO0.000-0.396
10. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2580.018
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3350.020
R0.0000.000
RBI1.0000.000
SLG0.4350.030
SO0.0000.000
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.0000.000
RBI0.000-1.000
SF0.0000.000
SO1.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
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: 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.22400.26890.2435model_form_blend
predicted_BB0.39600.38200.3899model_form_blend
predicted_H0.83000.95600.8848model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.09000.08100.0861model_form_blend
predicted_OBP0.34500.34390.3445model_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
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.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 20261007: 350
All-history rows before 20261007: 350
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2784
Diff (system - data): -0.0124
System opponent_avg: 0.2270

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.4761.0001.000Hitting_RBI0.5600.0000.4401.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 Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 3.3620 -> 4.0000 (boost 0.6380, better)
Biggest Deboostpredicted_R: 0.4190 -> 0.0000 (deboost -0.4190, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_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.242 HR/AB=0.039
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
7consistency_constraints10101-predicted_R: 0.4455 -> 0.0000 (deboost -0.4455, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.2353 (boost 0.2353, better)predicted_RBI: 1.0000 -> 0.5516 (deboost -0.4484, 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.1885 -> 1.0000 (boost 0.8115, better)predicted_BB: 0.2353 -> 0.0000 (deboost -0.2353, 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_environment33030predicted_SLG: 0.4070 -> 0.4380 (boost 0.0310, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
12market_blend00000--Market blend not applied: no props for this hitter
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_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.242 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=9.0, weight=0.092, 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.9077,
        "bvp": 0.0923
      }
    },
    {
      "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.1885,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.2353,
        "predicted_H": 0.8371,
        "predicted_HR": 0.1323,
        "predicted_RBI": 0.5516,
        "predicted_SO": 0.9926
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1885,
          "delta": 0.1885,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2353,
          "delta": 0.2353,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8371,
          "delta": -0.1629,
          "percent_delta": -0.1629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1323,
          "delta": 0.1323,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5516,
          "delta": -0.4484,
          "percent_delta": -0.4484,
          "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.2353,
          "delta": 0.2353,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5516,
          "delta": -0.4484,
          "percent_delta": -0.4484,
          "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.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1885,
          "after": 1.0,
          "delta": 0.8115,
          "percent_delta": 4.305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2638,
          "after": 0.235,
          "delta": -0.0288,
          "percent_delta": -0.1092,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2353,
          "after": 0.0,
          "delta": -0.2353,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8371,
          "after": 1.0,
          "delta": 0.1629,
          "percent_delta": 0.1946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1323,
          "after": 0.0,
          "delta": -0.1323,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3002,
          "after": 0.289,
          "delta": -0.0112,
          "percent_delta": -0.0373,
          "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_SLG",
          "before": 0.4512,
          "after": 0.407,
          "delta": -0.0442,
          "percent_delta": -0.098,
          "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.1885,
          "after": 1.0,
          "delta": 0.8115,
          "percent_delta": 4.305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2353,
          "after": 0.0,
          "delta": -0.2353,
          "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.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.407,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.438,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.253,
          "delta": 0.018,
          "percent_delta": 0.0766,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.308,
          "delta": 0.019,
          "percent_delta": 0.0657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.438,
          "delta": 0.031,
          "percent_delta": 0.0762,
          "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.407,
          "after": 0.438,
          "delta": 0.031,
          "percent_delta": 0.0762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "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": 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": 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_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": 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": 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.253,
        "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.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.438,
        "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.253,
        "delta": -0.013,
        "percent_delta": -0.0489,
        "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.308,
        "delta": 0.008,
        "percent_delta": 0.0267,
        "direction": "boost",
        "projection_effect": "better",
        "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": 1.0,
        "delta": 0.524,
        "percent_delta": 1.1008,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.431,
        "after": 0.438,
        "delta": 0.007,
        "percent_delta": 0.0162,
        "direction": "boost",
        "projection_effect": "better",
        "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": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "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_R",
        "before": 0.419,
        "after": 0.0,
        "delta": -0.419,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.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.242 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=9.0, weight=0.092, 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.1890.189
3B0.0130.013
BB0.2350.235
H0.837-0.163
HR0.1320.132
RBI0.552-0.448
SO0.993-0.007
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.811
3B0.000-0.013
AB4.0000.000
AVG0.235-
BB0.000-0.235
H1.0000.163
HR0.000-0.132
OBP0.289-
R0.0000.000
RBI1.0000.448
SLG0.407-
SO1.0000.007
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.235-0.029
predicted_BB0.000-0.179
predicted_H1.0000.093
predicted_HR0.000-0.132
predicted_OBP0.289-0.011
predicted_R0.000-0.446
predicted_RBI1.0000.516
predicted_SLG0.407-0.044
predicted_SO1.0000.229
11. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2530.018
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3080.019
R0.0000.000
RBI1.0000.000
SLG0.4380.031
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI1.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
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: 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
RBI1
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 20261007: 386
All-history rows before 20261007: 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.9333.0003.000Hitting_AB3.1614.000-0.161-1.000
predicted_AVG0.2620.0000.000Hitting_AVG0.2450.250-0.245-0.250
predicted_BB0.3831.0001.000Hitting_BB0.4640.0000.5361.000
predicted_CS-0.0000.000BaseRunning_CS0.0520.000-0.0520.000
predicted_H0.7200.0000.000Hitting_H0.7751.000-0.775-1.000
predicted_HR0.0700.0000.000Hitting_HR0.1010.000-0.1010.000
predicted_OBP0.3380.2500.250Hitting_OBP0.3460.250-0.0960.000
predicted_R0.4000.0000.000Hitting_R0.4950.000-0.4950.000
predicted_RBI0.6000.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.5751.0001.000Hitting_SO0.6271.0000.3730.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_BB: 0.3830 -> 1.0000 (boost 0.6170, better)
Biggest Deboostpredicted_H: 0.7200 -> 0.0000 (deboost -0.7200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_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.2597 -> 0.2465 (deboost -0.0132, 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.227 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.3453 (boost 0.3453, 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_allocation81708predicted_SO: 0.7384 -> 1.0000 (boost 0.2616, worse)predicted_H: 0.7025 -> 0.0000 (deboost -0.7025, 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_environment44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization21111predicted_BB: 0.0000 -> 1.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
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": "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.262,
        "predicted_BB": 0.383,
        "predicted_H": 0.72,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.338,
        "predicted_R": 0.4,
        "predicted_RBI": 0.6,
        "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.2597,
        "predicted_BB": 0.3839,
        "predicted_H": 0.7475,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.064,
        "predicted_OBP": 0.3402,
        "predicted_R": 0.348,
        "predicted_RBI": 0.6417,
        "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.2465,
        "predicted_BB": 0.3839,
        "predicted_H": 0.7359,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0628,
        "predicted_OBP": 0.3324,
        "predicted_R": 0.3398,
        "predicted_RBI": 0.6266,
        "predicted_SLG": 0.3735,
        "predicted_SO": 0.5634
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2597,
          "after": 0.2465,
          "delta": -0.0132,
          "percent_delta": -0.0508,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3402,
          "after": 0.3324,
          "delta": -0.0078,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.386,
          "after": 0.3735,
          "delta": -0.0125,
          "percent_delta": -0.0324,
          "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.2597,
          "after": 0.2465,
          "delta": -0.0132,
          "percent_delta": -0.0508,
          "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.227 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.7359,
          "after": 1.0,
          "delta": 0.2641,
          "percent_delta": 0.3589,
          "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.6266,
          "after": 1.0,
          "delta": 0.3734,
          "percent_delta": 0.5959,
          "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.3453,
        "predicted_H": 0.7025,
        "predicted_HR": 0.1064,
        "predicted_RBI": 0.511,
        "predicted_SO": 0.7384
      },
      "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.3453,
          "delta": 0.3453,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7025,
          "delta": -0.2975,
          "percent_delta": -0.2975,
          "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.7384,
          "delta": -0.2616,
          "percent_delta": -0.2616,
          "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.3453,
          "delta": 0.3453,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.374,
        "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.2465,
          "after": 0.221,
          "delta": -0.0255,
          "percent_delta": -0.1034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3453,
          "after": 0.0,
          "delta": -0.3453,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7025,
          "after": 0.0,
          "delta": -0.7025,
          "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.3324,
          "after": 0.303,
          "delta": -0.0294,
          "percent_delta": -0.0884,
          "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_SO",
          "before": 0.7384,
          "after": 1.0,
          "delta": 0.2616,
          "percent_delta": 0.3543,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7384,
          "after": 1.0,
          "delta": 0.2616,
          "percent_delta": 0.3543,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7025,
          "after": 0.0,
          "delta": -0.7025,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.374,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.402,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.237,
          "delta": 0.016,
          "percent_delta": 0.0724,
          "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_OBP",
          "before": 0.303,
          "after": 0.322,
          "delta": 0.019,
          "percent_delta": 0.0627,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.374,
          "after": 0.402,
          "delta": 0.028,
          "percent_delta": 0.0749,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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
        },
        {
          "metric": "predicted_H",
          "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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.237,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.402,
        "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.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": 3.0,
        "delta": 0.067,
        "percent_delta": 0.0228,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.237,
        "delta": -0.025,
        "percent_delta": -0.0954,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.383,
        "after": 1.0,
        "delta": 0.617,
        "percent_delta": 1.611,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.338,
        "after": 0.322,
        "delta": -0.016,
        "percent_delta": -0.0473,
        "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.6,
        "after": 0.0,
        "delta": -0.6,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.385,
        "after": 0.402,
        "delta": 0.017,
        "percent_delta": 0.0442,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.575,
        "after": 1.0,
        "delta": 0.425,
        "percent_delta": 0.7391,
        "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_BB",
        "before": 0.383,
        "after": 1.0,
        "delta": 0.617,
        "percent_delta": 1.611,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.125-
predicted_3B0.017-
predicted_AB2.933-
predicted_AVG0.262-
predicted_BB0.383-
predicted_H0.720-
predicted_HR0.070-
predicted_OBP0.338-
predicted_R0.400-
predicted_RBI0.600-
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.260-0.002
predicted_BB0.3840.001
predicted_H0.7480.028
predicted_HBP0.021-
predicted_HR0.064-0.006
predicted_OBP0.3400.002
predicted_R0.348-0.052
predicted_RBI0.6420.042
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.246-0.013
predicted_BB0.3840.000
predicted_H0.736-0.012
predicted_HBP0.0210.000
predicted_HR0.063-0.001
predicted_OBP0.332-0.008
predicted_R0.340-0.008
predicted_RBI0.627-0.015
predicted_SLG0.373-0.013
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.227 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.3450.345
H0.703-0.297
HR0.1060.106
RBI0.511-0.489
SO0.738-0.262
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.221-
BB0.000-0.345
H0.000-0.703
HR0.000-0.106
OBP0.303-
R0.0000.000
RBI0.000-0.511
SLG0.374-
SO1.0000.262
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.221-0.025
predicted_BB0.000-0.384
predicted_H0.000-0.736
predicted_HR0.000-0.063
predicted_OBP0.303-0.029
predicted_R0.000-0.340
predicted_RBI0.000-0.627
predicted_SLG0.3740.001
predicted_SO1.0000.437
10. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2370.016
BB0.0000.000
H1.0001.000
HR0.0000.000
OBP0.3220.019
R0.0000.000
RBI0.0000.000
SLG0.4020.028
SO1.0000.000
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.000-1.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: 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.26200.25670.2597model_form_blend
predicted_BB0.38300.38500.3839model_form_blend
predicted_H0.72000.78400.7475model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.07000.05600.0640model_form_blend
predicted_OBP0.33800.34310.3402model_form_blend
predicted_R0.40000.27900.3480model_form_blend
predicted_RBI0.60000.69700.6417model_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
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_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 20261007: 427
All-history rows before 20261007: 427
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2202
Diff (system - data): -0.0032
System opponent_avg: 0.4000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1430.0000.000Hitting_2B0.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.4960.0000.000Hitting_R0.5270.000-0.5270.000
predicted_RBI0.2600.0000.000Hitting_RBI0.3280.000-0.3280.000
predicted_SLG0.2720.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 Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
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_snapshot30303-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.180 HR/AB=0.008
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)
7consistency_constraints11010predicted_R: 0.5294 -> 1.0000 (boost 0.4706, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_BB: 0.0000 -> 0.3754 (boost 0.3754, better)predicted_H: 1.0000 -> 0.6940 (deboost -0.3060, 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_SO: 0.9279 -> 1.0000 (boost 0.0721, worse)predicted_H: 0.6940 -> 0.0000 (deboost -0.6940, 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_environment44040predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup
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_realization31212predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3290 -> 0.2960 (deboost -0.0330, 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": "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.272,
        "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.2882,
        "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.272,
          "after": 0.2882,
          "delta": 0.0162,
          "percent_delta": 0.0596,
          "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
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2882,
          "after": 0.2803,
          "delta": -0.0079,
          "percent_delta": -0.0274,
          "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.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.180 HR/AB=0.008",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)",
      "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": 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": 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.1613,
        "predicted_3B": 0.0143,
        "predicted_BB": 0.3754,
        "predicted_H": 0.694,
        "predicted_HR": 0.0558,
        "predicted_RBI": 0.3551,
        "predicted_SO": 0.9279
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1613,
          "delta": 0.1613,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3754,
          "delta": 0.3754,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.694,
          "delta": -0.306,
          "percent_delta": -0.306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0558,
          "delta": 0.0558,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3551,
          "delta": 0.3551,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9279,
          "delta": -0.0721,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3754,
          "delta": 0.3754,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.694,
          "delta": -0.306,
          "percent_delta": -0.306,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.335,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1613,
          "after": 0.0,
          "delta": -0.1613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1964,
          "after": 0.221,
          "delta": 0.0246,
          "percent_delta": 0.1253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3754,
          "after": 0.0,
          "delta": -0.3754,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.694,
          "after": 0.0,
          "delta": -0.694,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0558,
          "after": 0.0,
          "delta": -0.0558,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2792,
          "after": 0.309,
          "delta": 0.0298,
          "percent_delta": 0.1067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3551,
          "after": 0.0,
          "delta": -0.3551,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2803,
          "after": 0.335,
          "delta": 0.0547,
          "percent_delta": 0.1951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9279,
          "after": 1.0,
          "delta": 0.0721,
          "percent_delta": 0.0777,
          "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.9279,
          "after": 1.0,
          "delta": 0.0721,
          "percent_delta": 0.0777,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.694,
          "after": 0.0,
          "delta": -0.694,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.335,
        "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 club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.237,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.237,
          "delta": 0.016,
          "percent_delta": 0.0724,
          "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_OBP",
          "before": 0.309,
          "after": 0.329,
          "delta": 0.02,
          "percent_delta": 0.0647,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.335,
          "after": 0.36,
          "delta": 0.025,
          "percent_delta": 0.0746,
          "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.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_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": 1,
        "deboosted_metrics": 2,
        "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_BB",
          "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": 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.21,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.328,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.21,
          "delta": -0.027,
          "percent_delta": -0.1139,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.296,
          "delta": -0.033,
          "percent_delta": -0.1003,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.328,
          "delta": -0.032,
          "percent_delta": -0.0889,
          "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.329,
          "after": 0.296,
          "delta": -0.033,
          "percent_delta": -0.1003,
          "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.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.21,
        "delta": 0.016,
        "percent_delta": 0.0825,
        "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.296,
        "delta": 0.005,
        "percent_delta": 0.0172,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.496,
        "after": 0.0,
        "delta": -0.496,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.272,
        "after": 0.328,
        "delta": 0.056,
        "percent_delta": 0.2059,
        "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": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "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": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.143-
predicted_3B0.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.272-
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.2880.016
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.008
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.180 HR/AB=0.008

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

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

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.1610.161
3B0.0140.014
BB0.3750.375
H0.694-0.306
HR0.0560.056
RBI0.3550.355
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.161
3B0.000-0.014
AB3.0000.000
AVG0.221-
BB0.000-0.375
H0.000-0.694
HR0.000-0.056
OBP0.309-
R1.0000.000
RBI0.000-0.355
SLG0.335-
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.167
predicted_3B0.000-0.014
predicted_AB3.000-0.188
predicted_AVG0.2210.025
predicted_BB0.000-0.366
predicted_H0.000-0.626
predicted_HR0.000-0.024
predicted_OBP0.3090.030
predicted_R1.0000.471
predicted_RBI0.000-0.270
predicted_SLG0.3350.055
predicted_SO1.0000.078
11. kpi_run_environment

KPI club run ratio x1.154 applied to runs and RBI, x1.074 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2370.016
BB1.0001.000
H0.0000.000
HR0.0000.000
OBP0.3290.020
R1.0000.000
RBI0.0000.000
SLG0.3600.025
SO1.0000.000
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.000-1.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.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
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: 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.27200.30950.2882model_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
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_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
Nick Martinez (607259) · PITCHER · Starter · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 31
All-history rows before 20261007: 31

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.8391.0001.1611.000
predicted_ER2.0002.0002.000Pitching_ER2.0004.0000.000-2.000
predicted_H4.0004.0004.000Pitching_H5.5167.000-1.516-3.000
predicted_IP4.1004.1004.100Pitching_InningsPitched5.6712.200-1.5711.900
predicted_SO4.0004.0004.000Pitching_SO3.5161.0000.4843.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics5
Boosted Metrics0
Deboosted Metrics5
Better Metrics3
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_H: 8.0000 -> 4.0000 (deboost -4.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, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend published; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail30321-predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
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_realization50532-predicted_H: 8.0000 -> 4.0000 (deboost -4.0000, better)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": "607259",
  "player_name": "Nick Martinez",
  "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": 2.0,
        "predicted_ER": 4.0,
        "predicted_H": 8.0,
        "predicted_HR": 2.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": 3.0,
        "predicted_H": 8.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "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_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.1,
        "predicted_R": 2.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.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_IP",
          "before": 5.2,
          "after": 4.1,
          "delta": -1.1,
          "percent_delta": -0.2115,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 4.0,
          "delta": -4.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "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": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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_ER",
        "before": 4.0,
        "after": 2.0,
        "delta": -2.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 8.0,
        "after": 4.0,
        "delta": -4.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
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 4.1,
        "delta": -1.5667,
        "percent_delta": -0.2765,
        "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": 5,
      "boosted_metrics": 0,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 8.0,
        "after": 4.0,
        "delta": -4.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_BB2.000-
predicted_ER4.000-
predicted_H8.000-
predicted_HR2.000-
predicted_IP5.667-
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 published; 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_ER3.000-1.000
predicted_H8.0000.000
predicted_HR1.000-1.000
predicted_IP5.200-0.467
predicted_SO6.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
BB2.000-
BF19.000-
ER2.000-
H4.000-
HR0.000-
IP4.100-
Pitches80.000-
R2.000-
SO4.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: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45526.10011.00024.0004.00018.0004.0003.75951.06330.41770.91140.15190.68350.1519
last_100.351056.20024.00055.0006.00040.0007.0003.81181.07650.42350.97060.10590.70590.1235
season0.2031180.00062.000171.00026.000109.00022.0003.10001.09440.34440.95000.14440.60560.1222
Weighted Prediction From Real Data
MetricValue
predicted_BB0.9330
predicted_ER2.3270
predicted_ERA3.7818
predicted_H5.2390
predicted_HR0.7630
predicted_IP5.2000
predicted_SO3.9410
predicted_WHIP1.1146
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00000.93301.3691model_form_blend
predicted_ER4.00002.32703.0107model_form_blend
predicted_ERA-3.78183.7818form_only
predicted_H8.00005.23906.3674model_form_blend
predicted_HR2.00000.76301.2685model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO6.00003.94104.7825model_form_blend
predicted_WHIP-1.11461.1146form_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
IP4.1
H4
R2
ER2
BB2
SO4
HR0
BF19
Pitches80

Latest Real Data Snapshot (before report date)

Latest 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 Faced16
Pitching_ER4
Pitching_ERA3.10
Pitching_Flyouts4
Pitching_Groundouts2
Pitching_H7
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.2
Pitching_Pitches50
Pitching_R4
Pitching_SO1
Pitching_Strikes35
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260927_TB@PHI
game_typefull
mlbID607259
playerID607259
playerNameNick Martinez
posP
startedTrue
startingPositionP
teamTB
teamID27
game_date2026-09-27
sl_k_percent15.1
sl_bb_percent3.6
sl_woba0.295
sl_xwoba0.307
sl_sweet_spot_percent34.6
sl_barrel_batted_rate6.8
sl_hard_hit_percent32.9
sl_whiff_percent17.4
sl_swing_percent50.9
sl_avg_best_speed75.759860346
sl_avg_hyper_speed93.176832266
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 20261007: 43
All-history rows before 20261007: 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 Metrics3
Boosted Metrics0
Deboosted Metrics3
Better Metrics2
Worse Metrics1
Biggest Boost-
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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization30321-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": "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": 1.0,
        "predicted_ER": 0.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 published; 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_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": 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": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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_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": 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": 3,
      "boosted_metrics": 0,
      "deboosted_metrics": 3,
      "better_metrics": 2,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "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_ER0.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 published; 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-
Pitches12.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_BB1.00000.19600.6029model_form_blend
predicted_ER0.00000.15400.0761model_form_blend
predicted_ERA-1.95551.9555form_only
predicted_H1.00000.41500.7111model_form_blend
predicted_HR0.00000.05000.0247model_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
Pitches12

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters 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 20261007: 67
All-history rows before 20261007: 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_H1.0001.0001.000Pitching_H0.5220.0000.4781.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9361.0000.0640.000
predicted_SO1.0001.0001.000Pitching_SO0.9700.0000.0301.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics2
Worse Metrics0
Biggest Boostpredicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better)
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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization21120predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better)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": "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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "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": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "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_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.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": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "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": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 2,
      "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_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": "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_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
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 published; 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-
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_BB1.00000.28800.6195model_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_SO0.00000.72100.3853model_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
IP1.0
H1
R0
ER0
BB0
SO1
HR0
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_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
Cole Sulser (642121) · PITCHER · Middle Reliever · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 51
All-history rows before 20261007: 51

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3331.000-0.333-1.000
predicted_ER2.0002.0002.000Pitching_ER0.5290.0001.4712.000
predicted_H4.0004.0004.000Pitching_H1.0391.0002.9613.000
predicted_IP2.2002.2002.200Pitching_InningsPitched1.0181.0001.1821.200
predicted_SO2.0002.0002.000Pitching_SO1.0982.0000.9020.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics5
Deboosted Metrics0
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_H: 0.0000 -> 4.0000 (boost 4.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 published; the staff line follows the published score, not a KPI rescale
7pitcher_quality_run_redistribution43104predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
8play_by_play_realization44022predicted_H: 1.0000 -> 4.0000 (boost 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": "642121",
  "player_name": "Cole Sulser",
  "position": "Middle 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": 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 published; 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_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.2,
        "predicted_SO": 0.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": 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
        },
        {
          "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": 3,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "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": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.2,
        "predicted_R": 2.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.2,
          "after": 2.2,
          "delta": 2.0,
          "percent_delta": 10.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 4.0,
          "delta": 3.0,
          "percent_delta": 3.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 9,
      "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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.2,
        "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": 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": 4.0,
        "delta": 4.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": 0.6667,
        "after": 2.2,
        "delta": 1.5333,
        "percent_delta": 2.3,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 5,
      "deboosted_metrics": 0,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 4.0,
        "delta": 4.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_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 published; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. pitcher_quality_run_redistribution

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

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER1.0001.000
predicted_H1.0001.000
predicted_HR1.0001.000
predicted_IP0.200-0.467
predicted_SO0.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
BB0.000-
BF13.000-
ER2.000-
H4.000-
HR1.000-
IP2.200-
Pitches58.000-
R2.000-
SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 50
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0004.0002.0006.0000.0001.80001.20000.20000.80000.40001.20000.0000
last_100.351010.0002.0006.0003.0008.0001.0001.80000.90000.20000.60000.30000.80000.1000
season0.205056.10024.00051.00016.00056.0007.0003.83431.18930.42600.90530.28400.99410.1243
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3180
predicted_ER0.2930
predicted_ERA2.9336
predicted_H0.7390
predicted_HR0.0780
predicted_IP1.0000
predicted_SO0.8940
predicted_WHIP1.1749
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.31800.1663model_form_blend
predicted_ER0.00000.29300.1532model_form_blend
predicted_ERA-2.93362.9336form_only
predicted_H0.00000.73900.3865model_form_blend
predicted_HR0.00000.07800.0408model_form_blend
predicted_IP0.20001.00001.0000model_form_blend
predicted_SO0.00000.89400.4676model_form_blend
predicted_WHIP-1.17491.1749form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.2
H4
R2
ER2
BB0
SO2
HR1
BF13
Pitches58

Latest Real Data Snapshot (before report date)

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

Home Team: NYY

Home Pitcher Deep Analysis

FieldValue
PitcherMax Fried
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8585
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0984
Avg Velo88.1078
Avg Spin2246.8842
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER2
Pre H4
Pre BB3
Pre SO7
Season ERA2.7303
Season WHIP0.9775
Role Avg IP5.6510
Recent Avg IP5.7330
Last Start IP6
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": "608331",
    "profile": {
      "available": true,
      "pitcher_id": "608331",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 380.0,
        "k_percent": 24.0,
        "bb_percent": 7.6,
        "woba": 0.245,
        "xwoba": 0.246,
        "sweet_spot_percent": 28.5,
        "barrel_batted_rate": 2.4,
        "hard_hit_percent": 29.8,
        "avg_best_speed": 74.5561,
        "avg_hyper_speed": 92.6087,
        "whiff_percent": 25.0,
        "swing_percent": 46.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": 1.463,
        "command_and_miss": 0.1921,
        "regression_edge": -0.0286,
        "xwoba_edge": 1.8857,
        "barrel_edge": 1.0667,
        "hard_hit_edge": 1.1571,
        "whiff_edge": -0.0286,
        "bb_edge": 0.4,
        "pitch_design_score": -0.0984
      },
      "quality_score": 0.8585,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.927,
      "strikeout_factor": 1.0097,
      "walk_factor": 0.968,
      "homer_factor": 0.8118,
      "woba_minus_xwoba": -0.001,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "608331",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.927,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.927,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.968,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.82,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0097,
        "adjusted": 5
      }
    }
  },
  "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": 52.0,
    "ER": 14,
    "H": 38,
    "BB": 14,
    "SO": 53,
    "HR": 4,
    "ERA": 2.423076923076923,
    "WHIP": 1.0,
    "K9": 9.173076923076923,
    "HR9": 0.6923076923076923,
    "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-30T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "608331",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 71,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 71,
    "pitch_usage": 0.0,
    "release_speed": 88.10778862071564,
    "release_spin_rate": 2246.884199292124,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 71,
      "pitch_usage": 0.0,
      "release_speed": 88.10778862071564,
      "release_spin_rate": 2246.884199292124,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1078,
    "release_spin_rate": 2246.8842,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0984,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.7025,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 21.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8077,
    "prior_weight": 0.1923
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "608331",
  "report_date": "20261007",
  "season_year": 2026,
  "rows_used": 21,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.2,
        "ER": 8.0,
        "R": 8.0,
        "H": 20.0,
        "BB": 6.0,
        "SO": 27.0,
        "HR": 2.0,
        "BF": 109.0,
        "Pitches": 435.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6,
        "R": 1.6,
        "H": 4.0,
        "BB": 1.2,
        "SO": 5.4,
        "HR": 0.4,
        "BF": 21.8,
        "Pitches": 87.0
      },
      "rates": {
        "ERA": 2.5116,
        "WHIP": 0.907,
        "ER_per_IP": 0.27907,
        "H_per_IP": 0.69767,
        "BB_per_IP": 0.2093,
        "SO_per_IP": 0.94186,
        "HR_per_IP": 0.06977
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 52.0,
        "ER": 14.0,
        "R": 14.0,
        "H": 38.0,
        "BB": 14.0,
        "SO": 53.0,
        "HR": 4.0,
        "BF": 200.0,
        "Pitches": 820.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.4,
        "R": 1.4,
        "H": 3.8,
        "BB": 1.4,
        "SO": 5.3,
        "HR": 0.4,
        "BF": 20.0,
        "Pitches": 82.0
      },
      "rates": {
        "ERA": 2.4231,
        "WHIP": 1.0,
        "ER_per_IP": 0.26923,
        "H_per_IP": 0.73077,
        "BB_per_IP": 0.26923,
        "SO_per_IP": 1.01923,
        "HR_per_IP": 0.07692
      }
    },
    "season": {
      "games": 21,
      "totals": {
        "IP": 118.2,
        "ER": 36.0,
        "R": 36.0,
        "H": 82.0,
        "BB": 34.0,
        "SO": 110.0,
        "HR": 5.0,
        "BF": 456.0,
        "Pitches": 1794.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.7143,
        "R": 1.7143,
        "H": 3.9048,
        "BB": 1.619,
        "SO": 5.2381,
        "HR": 0.2381,
        "BF": 21.7143,
        "Pitches": 85.4286
      },
      "rates": {
        "ERA": 2.7303,
        "WHIP": 0.9775,
        "ER_per_IP": 0.30337,
        "H_per_IP": 0.69101,
        "BB_per_IP": 0.28652,
        "SO_per_IP": 0.92697,
        "HR_per_IP": 0.04213
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 1.834,
    "predicted_H": 4.291,
    "predicted_BB": 1.531,
    "predicted_SO": 5.41,
    "predicted_HR": 0.464,
    "predicted_ERA": 2.9282,
    "predicted_WHIP": 1.0329
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4312,
  "form_weight": 0.5688,
  "form_reliability": 0.8077,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 21.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8077,
    "prior_weight": 0.1923
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.834,
      "final": 1.0431,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 4.291,
      "final": 3.303,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.531,
      "final": 1.7333,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.41,
      "final": 5.2332,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.464,
      "final": 0.2639,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9282,
      "final": 2.9282,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0329,
      "final": 1.0329,
      "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 ER0
Pre H0
Pre BB0
Pre SO0
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": "20261007",
  "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": 2.0,
      "form": 3.45,
      "final": 2.8468,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.087,
      "final": 1.0508,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 3.01,
      "final": 2.1739,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.297,
      "final": 0.1734,
      "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 ER1
Pre H1
Pre BB0
Pre SO0
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": "20261007",
  "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 H1
Pre BB1
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": "20261007",
  "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": 1.0,
      "form": 0.197,
      "final": 0.573,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.671,
      "final": 1.2933,
      "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 20261007: 492
All-history rows before 20261007: 492
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2089
Diff (system - data): 0.0021
System opponent_avg: 0.4840

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.4804.0004.000Hitting_AB3.7563.0000.2441.000
predicted_AVG0.1940.2500.250Hitting_AVG0.2090.0000.0410.250
predicted_BB0.4921.0001.000Hitting_BB0.5410.0000.4591.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H0.8701.0001.000Hitting_H0.7850.0000.2151.000
predicted_HR0.1100.0000.000Hitting_HR0.1570.000-0.1570.000
predicted_OBP0.2940.4000.400Hitting_OBP0.3060.0000.0940.400
predicted_R0.5591.0001.000Hitting_R0.5980.0000.4021.000
predicted_RBI0.4700.0000.000Hitting_RBI0.5280.000-0.5280.000
predicted_SLG0.3380.2500.250Hitting_SLG0.3900.000-0.1400.250
predicted_SO0.7631.0001.000Hitting_SO0.7870.0000.2131.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_BB: 0.4920 -> 1.0000 (boost 0.5080, better)
Biggest Deboostpredicted_AB: 4.4800 -> 4.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_blend51414predicted_AVG: 0.1940 -> 0.1990 (boost 0.0050, better)predicted_AB: 4.4800 -> 3.9433 (deboost -0.5367, 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.3108 (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_scaling73425predicted_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.48), rates preserved: AVG=0.179 HR/AB=0.022
6bvp_blend10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.667)
7consistency_constraints10101-predicted_R: 0.4878 -> 0.0000 (deboost -0.4878, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_SO: 0.0000 -> 0.6783 (boost 0.6783, worse)predicted_H: 1.0000 -> 0.8934 (deboost -0.1066, 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_2B: 0.1913 -> 1.0000 (boost 0.8087, better)predicted_RBI: 0.4607 -> 0.0000 (deboost -0.4607, 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_environment44040predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_final30303-predicted_AVG: 0.2490 -> 0.2210 (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": "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.48,
        "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.9433,
        "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.48,
          "after": 3.9433,
          "delta": -0.5367,
          "percent_delta": -0.1198,
          "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.48,
          "after": 3.9433,
          "delta": -0.5367,
          "percent_delta": -0.1198,
          "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.9433,
        "predicted_AVG": 0.197,
        "predicted_BB": 0.4523,
        "predicted_H": 0.7767,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0966,
        "predicted_OBP": 0.2796,
        "predicted_R": 0.4878,
        "predicted_RBI": 0.4314,
        "predicted_SLG": 0.3108,
        "predicted_SO": 0.7438
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2926,
          "after": 0.2796,
          "delta": -0.013,
          "percent_delta": -0.0444,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.3108,
          "delta": -0.0172,
          "percent_delta": -0.0524,
          "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.3108,
          "delta": -0.0172,
          "percent_delta": -0.0524,
          "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.48), rates preserved: AVG=0.179 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.1311,
          "after": 0.0,
          "delta": -0.1311,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.9433,
          "after": 4.0,
          "delta": 0.0567,
          "percent_delta": 0.0144,
          "direction": "boost",
          "projection_effect": "better",
          "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": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "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=6.0, weight=0.067, BvP AVG=0.667)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.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": 0.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.1913,
        "predicted_3B": 0.0134,
        "predicted_BB": 0.4114,
        "predicted_H": 0.8934,
        "predicted_HR": 0.1543,
        "predicted_RBI": 0.4607,
        "predicted_SO": 0.6783
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1913,
          "delta": 0.1913,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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.8934,
          "delta": -0.1066,
          "percent_delta": -0.1066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1543,
          "delta": 0.1543,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4607,
          "delta": 0.4607,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6783,
          "delta": 0.6783,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6783,
          "delta": 0.6783,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8934,
          "delta": -0.1066,
          "percent_delta": -0.1066,
          "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.243,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.428,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1913,
          "after": 1.0,
          "delta": 0.8087,
          "percent_delta": 4.2274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.197,
          "after": 0.243,
          "delta": 0.046,
          "percent_delta": 0.2335,
          "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.8934,
          "after": 1.0,
          "delta": 0.1066,
          "percent_delta": 0.1193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1543,
          "after": 0.0,
          "delta": -0.1543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2796,
          "after": 0.324,
          "delta": 0.0444,
          "percent_delta": 0.1588,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4607,
          "after": 0.0,
          "delta": -0.4607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3108,
          "after": 0.428,
          "delta": 0.1172,
          "percent_delta": 0.3771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6783,
          "after": 1.0,
          "delta": 0.3217,
          "percent_delta": 0.4743,
          "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_2B",
          "before": 0.1913,
          "after": 1.0,
          "delta": 0.8087,
          "percent_delta": 4.2274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4607,
          "after": 0.0,
          "delta": -0.4607,
          "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.243,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.428,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.249,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.438,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.249,
          "delta": 0.006,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.331,
          "delta": 0.007,
          "percent_delta": 0.0216,
          "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_SLG",
          "before": 0.428,
          "after": 0.438,
          "delta": 0.01,
          "percent_delta": 0.0234,
          "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_R",
          "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": "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.221,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.414,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.221,
          "delta": -0.028,
          "percent_delta": -0.1124,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.303,
          "delta": -0.028,
          "percent_delta": -0.0846,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.438,
          "after": 0.414,
          "delta": -0.024,
          "percent_delta": -0.0548,
          "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.249,
          "after": 0.221,
          "delta": -0.028,
          "percent_delta": -0.1124,
          "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.161,
        "after": 0.0,
        "delta": -0.161,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.48,
        "after": 4.0,
        "delta": -0.48,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.194,
        "after": 0.221,
        "delta": 0.027,
        "percent_delta": 0.1392,
        "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": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.294,
        "after": 0.303,
        "delta": 0.009,
        "percent_delta": 0.0306,
        "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": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.338,
        "after": 0.414,
        "delta": 0.076,
        "percent_delta": 0.2249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.763,
        "after": 1.0,
        "delta": 0.237,
        "percent_delta": 0.3106,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.492,
        "after": 1.0,
        "delta": 0.508,
        "percent_delta": 1.0325,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.48,
        "after": 4.0,
        "delta": -0.48,
        "percent_delta": -0.1071,
        "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.480-
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.943-0.537
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.9430.000
predicted_AVG0.197-0.002
predicted_BB0.4520.001
predicted_H0.777-0.005
predicted_HBP0.0020.000
predicted_HR0.097-0.001
predicted_OBP0.280-0.013
predicted_R0.488-0.005
predicted_RBI0.431-0.004
predicted_SLG0.311-0.017
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.48), rates preserved: AVG=0.179 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=6.0, weight=0.067, BvP AVG=0.667)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO0.000-1.000
7. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1910.191
3B0.0130.013
BB0.4110.411
H0.893-0.107
HR0.1540.154
RBI0.4610.461
SO0.6780.678
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.809
3B0.000-0.013
AB4.0000.000
AVG0.243-
BB1.0000.589
H1.0000.107
HR0.000-0.154
OBP0.324-
R0.0000.000
RBI0.000-0.461
SLG0.428-
SO1.0000.322
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.869
predicted_3B0.000-0.014
predicted_AB4.0000.057
predicted_AVG0.2430.046
predicted_BB1.0000.548
predicted_H1.0000.223
predicted_HR0.000-0.097
predicted_OBP0.3240.044
predicted_R0.000-0.488
predicted_RBI0.000-0.431
predicted_SLG0.4280.117
predicted_SO1.0000.256
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2490.006
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3310.007
R1.0001.000
RBI0.0000.000
SLG0.4380.010
SO1.0000.000
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: 118
Reference playing time: 4.480
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-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.48003.24003.9433model_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
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_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 20261007: 636
All-history rows before 20261007: 636
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2709
Diff (system - data): 0.0001
System opponent_avg: 0.4270

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1561.0001.000Hitting_2B0.1590.0000.8411.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.0501.0001.000Hitting_RBI0.6812.0000.319-1.000
predicted_SLG0.8550.4000.400Hitting_SLG0.5352.667-0.135-2.267
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 Metrics2
Deboosted Metrics8
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AB: 4.0500 -> 5.0000 (boost 0.9500, better)
Biggest Deboostpredicted_R: 0.7080 -> 0.0000 (deboost -0.7080, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_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.335 HR/AB=0.140
6bvp_blend10101-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444)
7consistency_constraints11010predicted_R: 0.7640 -> 1.0000 (boost 0.2360, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_BB: 0.0000 -> 0.4586 (boost 0.4586, better)predicted_RBI: 1.0000 -> 0.6003 (deboost -0.3997, 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_HR: 0.2578 -> 1.0000 (boost 0.7422, better)predicted_SLG: 0.8304 -> 0.5270 (deboost -0.3034, 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_environment33030predicted_SLG: 0.5270 -> 0.5390 (boost 0.0120, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_realization52323predicted_2B: 0.0000 -> 1.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final31212predicted_OBP: 0.3550 -> 0.3620 (boost 0.0070, better)predicted_AVG: 0.2690 -> 0.2610 (deboost -0.0080, 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": "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.335 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=9.0, weight=0.092, BvP AVG=0.444)",
      "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.9077,
        "bvp": 0.0923
      }
    },
    {
      "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.1876,
        "predicted_3B": 0.0162,
        "predicted_BB": 0.4586,
        "predicted_H": 0.9867,
        "predicted_HR": 0.2578,
        "predicted_RBI": 0.6003,
        "predicted_SO": 0.8705
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1876,
          "delta": 0.1876,
          "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_HR",
          "before": 0.0,
          "after": 0.2578,
          "delta": 0.2578,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6003,
          "delta": -0.3997,
          "percent_delta": -0.3997,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8705,
          "delta": -0.1295,
          "percent_delta": -0.1295,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4586,
          "delta": 0.4586,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6003,
          "delta": -0.3997,
          "percent_delta": -0.3997,
          "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.262,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.348,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.527,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1876,
          "after": 0.0,
          "delta": -0.1876,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3361,
          "after": 0.262,
          "delta": -0.0741,
          "percent_delta": -0.2205,
          "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_HR",
          "before": 0.2578,
          "after": 1.0,
          "delta": 0.7422,
          "percent_delta": 2.879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4242,
          "after": 0.348,
          "delta": -0.0762,
          "percent_delta": -0.1796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6003,
          "after": 1.0,
          "delta": 0.3997,
          "percent_delta": 0.6658,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.8304,
          "after": 0.527,
          "delta": -0.3034,
          "percent_delta": -0.3654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8705,
          "after": 1.0,
          "delta": 0.1295,
          "percent_delta": 0.1488,
          "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_HR",
          "before": 0.2578,
          "after": 1.0,
          "delta": 0.7422,
          "percent_delta": 2.879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.8304,
          "after": 0.527,
          "delta": -0.3034,
          "percent_delta": -0.3654,
          "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.262,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.348,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.527,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.269,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.355,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.539,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.269,
          "delta": 0.007,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.348,
          "after": 0.355,
          "delta": 0.007,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.527,
          "after": 0.539,
          "delta": 0.012,
          "percent_delta": 0.0228,
          "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.527,
          "after": 0.539,
          "delta": 0.012,
          "percent_delta": 0.0228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "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": 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": 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.261,
        "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.362,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.533,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.261,
          "delta": -0.008,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.362,
          "delta": 0.007,
          "percent_delta": 0.0197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.539,
          "after": 0.533,
          "delta": -0.006,
          "percent_delta": -0.0111,
          "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_OBP",
          "before": 0.355,
          "after": 0.362,
          "delta": 0.007,
          "percent_delta": 0.0197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.261,
          "delta": -0.008,
          "percent_delta": -0.0297,
          "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.156,
        "after": 1.0,
        "delta": 0.844,
        "percent_delta": 5.4103,
        "direction": "boost",
        "projection_effect": "better",
        "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.261,
        "delta": -0.08,
        "percent_delta": -0.2346,
        "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.362,
        "delta": -0.073,
        "percent_delta": -0.1678,
        "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": 1.0,
        "delta": -0.05,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.855,
        "after": 0.533,
        "delta": -0.322,
        "percent_delta": -0.3766,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 8,
      "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_R",
        "before": 0.708,
        "after": 0.0,
        "delta": -0.708,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.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.335 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=9.0, weight=0.092, BvP AVG=0.444)

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.1880.188
3B0.0160.016
BB0.4590.459
H0.987-0.013
HR0.2580.258
RBI0.600-0.400
SO0.871-0.129
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.188
3B0.000-0.016
AB4.0000.000
AVG0.262-
BB1.0000.541
H1.0000.013
HR1.0000.742
OBP0.348-
R1.0000.000
RBI1.0000.400
SLG0.527-
SO1.0000.129
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.262-0.074
predicted_BB1.0000.403
predicted_H1.000-0.310
predicted_HR1.0000.435
predicted_OBP0.348-0.076
predicted_R1.0000.236
predicted_RBI1.0000.024
predicted_SLG0.527-0.303
predicted_SO1.000-0.053
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2690.007
BB1.0000.000
H1.0000.000
HR1.0000.000
OBP0.3550.007
R1.0000.000
RBI1.0000.000
SLG0.5390.012
SO1.0000.000
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.0001.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
RBI1.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
2B1.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
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: 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
2B1
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_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 20261007: 151
All-history rows before 20261007: 151
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2961
Diff (system - data): -0.0191
System opponent_avg: 0.2000
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.2350.5000.500Hitting_AVG0.2960.0000.2040.500
predicted_BB0.1670.0000.000Hitting_BB0.2320.000-0.2320.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H0.9902.0002.000Hitting_H1.1590.0000.8412.000
predicted_HR0.2201.0001.000Hitting_HR0.2120.0000.7881.000
predicted_OBP0.2830.5000.500Hitting_OBP0.3330.0000.1670.500
predicted_R0.4672.0002.000Hitting_R0.5430.0001.4572.000
predicted_RBI0.5801.0001.000Hitting_RBI0.4700.0000.5301.000
predicted_SLG0.4521.2501.250Hitting_SLG0.5030.0000.7471.250
predicted_SO0.6670.0000.000Hitting_SO0.8082.000-0.808-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_R: 0.4670 -> 2.0000 (boost 1.5330, better)
Biggest Deboostpredicted_SO: 0.6670 -> 0.0000 (deboost -0.6670, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.2350 -> 0.2416 (boost 0.0066, 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.2722 (deboost -0.0129, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.6834 -> 1.0000 (boost 0.3166, worse)predicted_RBI: 0.5360 -> 0.0000 (deboost -0.5360, worse)AB rounded to 4 (raw=4.21), rates preserved: AVG=0.229 HR/AB=0.048
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4524 -> 0.0000 (deboost -0.4524, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.6408 (boost 0.6408, better)predicted_SO: 1.0000 -> 0.7473 (deboost -0.2527, 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_RBI: 0.6408 -> 1.0000 (boost 0.3592, better)predicted_HR: 0.2281 -> 0.0000 (deboost -0.2281, 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_environment55050predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
12market_blend00000--Market blend not applied: no props for this hitter
13play_by_play_realization32130predicted_H: 1.0000 -> 2.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_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.235,
        "predicted_BB": 0.167,
        "predicted_H": 0.99,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.283,
        "predicted_R": 0.467,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.452,
        "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.2416,
        "predicted_BB": 0.1748,
        "predicted_H": 0.9369,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2035,
        "predicted_OBP": 0.2851,
        "predicted_R": 0.4566,
        "predicted_RBI": 0.5409,
        "predicted_SLG": 0.4507,
        "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.235,
          "after": 0.2416,
          "delta": 0.0066,
          "percent_delta": 0.0281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9369,
          "delta": -0.0531,
          "percent_delta": -0.0536,
          "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.235,
          "after": 0.2416,
          "delta": 0.0066,
          "percent_delta": 0.0281,
          "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.2394,
        "predicted_BB": 0.175,
        "predicted_H": 0.9309,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2018,
        "predicted_OBP": 0.2722,
        "predicted_R": 0.4524,
        "predicted_RBI": 0.536,
        "predicted_SLG": 0.446,
        "predicted_SO": 0.6834
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2851,
          "after": 0.2722,
          "delta": -0.0129,
          "percent_delta": -0.0452,
          "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.2722,
          "delta": -0.0129,
          "percent_delta": -0.0452,
          "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.229 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.9309,
          "after": 1.0,
          "delta": 0.0691,
          "percent_delta": 0.0742,
          "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.536,
          "after": 0.0,
          "delta": -0.536,
          "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.536,
          "after": 0.0,
          "delta": -0.536,
          "percent_delta": -1.0,
          "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": 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.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": 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.175,
        "predicted_3B": 0.0206,
        "predicted_BB": 0.2002,
        "predicted_H": 1.031,
        "predicted_HR": 0.2281,
        "predicted_RBI": 0.6408,
        "predicted_SO": 0.7473
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.175,
          "delta": 0.175,
          "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_HR",
          "before": 0.0,
          "after": 0.2281,
          "delta": 0.2281,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.6408,
          "delta": 0.6408,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7473,
          "delta": -0.2527,
          "percent_delta": -0.2527,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.6408,
          "delta": 0.6408,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7473,
          "delta": -0.2527,
          "percent_delta": -0.2527,
          "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.266,
        "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.499,
        "predicted_SO": 1.0
      },
      "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_AVG",
          "before": 0.2394,
          "after": 0.266,
          "delta": 0.0266,
          "percent_delta": 0.1111,
          "direction": "boost",
          "projection_effect": "better",
          "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_HR",
          "before": 0.2281,
          "after": 0.0,
          "delta": -0.2281,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2722,
          "after": 0.308,
          "delta": 0.0358,
          "percent_delta": 0.1315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6408,
          "after": 1.0,
          "delta": 0.3592,
          "percent_delta": 0.5605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.446,
          "after": 0.499,
          "delta": 0.053,
          "percent_delta": 0.1188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7473,
          "after": 1.0,
          "delta": 0.2527,
          "percent_delta": 0.3382,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6408,
          "after": 1.0,
          "delta": 0.3592,
          "percent_delta": 0.5605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2281,
          "after": 0.0,
          "delta": -0.2281,
          "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.266,
        "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.499,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.273,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.511,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.273,
          "delta": 0.007,
          "percent_delta": 0.0263,
          "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_OBP",
          "before": 0.308,
          "after": 0.315,
          "delta": 0.007,
          "percent_delta": 0.0227,
          "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_SLG",
          "before": 0.499,
          "after": 0.511,
          "delta": 0.012,
          "percent_delta": 0.024,
          "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_HR",
          "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": "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": 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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.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_R",
          "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": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.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": 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.273,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.315,
        "predicted_R": 2.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.511,
        "predicted_SO": 0.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.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.235,
        "after": 0.273,
        "delta": 0.038,
        "percent_delta": 0.1617,
        "direction": "boost",
        "projection_effect": "better",
        "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": 0.99,
        "after": 2.0,
        "delta": 1.01,
        "percent_delta": 1.0202,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.22,
        "after": 1.0,
        "delta": 0.78,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.315,
        "delta": 0.032,
        "percent_delta": 0.1131,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.467,
        "after": 2.0,
        "delta": 1.533,
        "percent_delta": 3.2827,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 1.0,
        "delta": 0.42,
        "percent_delta": 0.7241,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.452,
        "after": 0.511,
        "delta": 0.059,
        "percent_delta": 0.1305,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 0.0,
        "delta": -0.667,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.467,
        "after": 2.0,
        "delta": 1.533,
        "percent_delta": 3.2827,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 0.0,
        "delta": -0.667,
        "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.173-
predicted_3B0.033-
predicted_AB4.210-
predicted_AVG0.235-
predicted_BB0.167-
predicted_H0.990-
predicted_HR0.220-
predicted_OBP0.283-
predicted_R0.467-
predicted_RBI0.580-
predicted_SLG0.452-
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.2420.007
predicted_BB0.1750.008
predicted_H0.937-0.053
predicted_HBP0.002-
predicted_HR0.203-0.017
predicted_OBP0.2850.002
predicted_R0.457-0.010
predicted_RBI0.541-0.039
predicted_SLG0.451-0.001
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.239-0.002
predicted_BB0.1750.000
predicted_H0.931-0.006
predicted_HBP0.0020.000
predicted_HR0.202-0.002
predicted_OBP0.272-0.013
predicted_R0.452-0.004
predicted_RBI0.536-0.005
predicted_SLG0.446-0.005
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.229 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=10.0, weight=0.100, BvP AVG=0.200)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1750.175
3B0.0210.021
BB0.2000.200
H1.0310.031
HR0.2280.228
RBI0.6410.641
SO0.747-0.253
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.175
3B0.000-0.021
AB4.0000.000
AVG0.266-
BB0.000-0.200
H1.000-0.031
HR0.000-0.228
OBP0.308-
R0.0000.000
RBI1.0000.359
SLG0.499-
SO1.0000.253
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.2660.027
predicted_BB0.000-0.175
predicted_H1.0000.069
predicted_HR0.000-0.202
predicted_OBP0.3080.036
predicted_R0.000-0.452
predicted_RBI1.0000.464
predicted_SLG0.4990.053
predicted_SO1.0000.317
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2730.007
BB0.0000.000
H1.0000.000
HR1.0001.000
OBP0.3150.007
R1.0001.000
RBI1.0000.000
SLG0.5110.012
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
BB0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R2.0001.000
RBI1.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
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R2.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: 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.23500.25010.2416model_form_blend
predicted_BB0.16700.18500.1748model_form_blend
predicted_H0.99000.86800.9369model_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.58000.49000.5409model_form_blend
predicted_SLG0.45200.44910.4507model_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
H2
2B0
3B0
HR1
R2
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_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 20261007: 539
All-history rows before 20261007: 539
System season_avg: 0.2640
Data season_avg (2026 season-to-date): 0.2761
Diff (system - data): -0.0121
System opponent_avg: 0.2940

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1881.0001.000Hitting_2B0.2060.0000.7941.000
predicted_3B0.0230.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.6503.0003.000Hitting_AB3.7904.000-0.790-1.000
predicted_AVG0.2280.3330.333Hitting_AVG0.2760.2500.0570.083
predicted_BB0.4361.0001.000Hitting_BB0.4810.0000.5191.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.5000.500Hitting_OBP0.3530.2500.1470.250
predicted_R0.5561.0001.000Hitting_R0.5970.0000.4031.000
predicted_RBI0.6301.0001.000Hitting_RBI0.5940.0000.4061.000
predicted_SLG0.3770.6670.667Hitting_SLG0.4470.2500.2200.417
predicted_SO0.6470.0000.000Hitting_SO0.6220.000-0.6220.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_2B: 0.1880 -> 1.0000 (boost 0.8120, better)
Biggest Deboostpredicted_AB: 4.6500 -> 3.0000 (deboost -1.6500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_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_scaling61524predicted_RBI: 0.6191 -> 1.0000 (boost 0.3809, better)predicted_SO: 0.6987 -> 0.0000 (deboost -0.6987, better)AB rounded to 4 (raw=4.65), rates preserved: AVG=0.218 HR/AB=0.035
6bvp_blend00000--Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.294)
7consistency_constraints10101-predicted_R: 0.4945 -> 0.0000 (deboost -0.4945, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54132predicted_SO: 0.0000 -> 0.6078 (boost 0.6078, worse)predicted_RBI: 1.0000 -> 0.5539 (deboost -0.4461, 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_allocation96372predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 0.6078 -> 0.0000 (deboost -0.6078, 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
11kpi_run_environment33030predicted_SLG: 0.4470 -> 0.4580 (boost 0.0110, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_realization21111predicted_2B: 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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3380 -> 0.3100 (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": "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.218 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": 0.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": 0.0,
          "delta": -0.6987,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6191,
          "after": 1.0,
          "delta": 0.3809,
          "percent_delta": 0.6152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6987,
          "after": 0.0,
          "delta": -0.6987,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.294)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "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.8553,
        "bvp": 0.1447
      }
    },
    {
      "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": 0.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.1881,
        "predicted_3B": 0.0152,
        "predicted_BB": 0.3791,
        "predicted_H": 1.008,
        "predicted_HR": 0.1704,
        "predicted_RBI": 0.5539,
        "predicted_SO": 0.6078
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1881,
          "delta": 0.1881,
          "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_HR",
          "before": 0.0,
          "after": 0.1704,
          "delta": 0.1704,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5539,
          "delta": -0.4461,
          "percent_delta": -0.4461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6078,
          "delta": 0.6078,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6078,
          "delta": 0.6078,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5539,
          "delta": -0.4461,
          "percent_delta": -0.4461,
          "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.259,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.447,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1881,
          "after": 0.0,
          "delta": -0.1881,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2264,
          "after": 0.259,
          "delta": 0.0326,
          "percent_delta": 0.144,
          "direction": "boost",
          "projection_effect": "better",
          "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_HR",
          "before": 0.1704,
          "after": 0.0,
          "delta": -0.1704,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2878,
          "after": 0.33,
          "delta": 0.0422,
          "percent_delta": 0.1466,
          "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.5539,
          "after": 1.0,
          "delta": 0.4461,
          "percent_delta": 0.8054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3855,
          "after": 0.447,
          "delta": 0.0615,
          "percent_delta": 0.1595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6078,
          "after": 0.0,
          "delta": -0.6078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 6,
        "deboosted_metrics": 3,
        "better_metrics": 7,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6078,
          "after": 0.0,
          "delta": -0.6078,
          "percent_delta": -1.0,
          "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.259,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.447,
        "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.266,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.338,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.458,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.266,
          "delta": 0.007,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.338,
          "delta": 0.008,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.447,
          "after": 0.458,
          "delta": 0.011,
          "percent_delta": 0.0246,
          "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.447,
          "after": 0.458,
          "delta": 0.011,
          "percent_delta": 0.0246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 3.0,
        "predicted_BB": 1.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": 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_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 3.0,
        "predicted_BB": 1.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": 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": 3.0,
        "predicted_AVG": 0.251,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.444,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.251,
          "delta": -0.015,
          "percent_delta": -0.0564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.338,
          "after": 0.31,
          "delta": -0.028,
          "percent_delta": -0.0828,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.444,
          "delta": -0.014,
          "percent_delta": -0.0306,
          "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.338,
          "after": 0.31,
          "delta": -0.028,
          "percent_delta": -0.0828,
          "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.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": 3.0,
        "delta": -1.65,
        "percent_delta": -0.3548,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.251,
        "delta": 0.023,
        "percent_delta": 0.1009,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.436,
        "after": 1.0,
        "delta": 0.564,
        "percent_delta": 1.2936,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 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.31,
        "delta": 0.033,
        "percent_delta": 0.1191,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.556,
        "after": 1.0,
        "delta": 0.444,
        "percent_delta": 0.7986,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 1.0,
        "delta": 0.37,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.377,
        "after": 0.444,
        "delta": 0.067,
        "percent_delta": 0.1777,
        "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": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "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": 3.0,
        "delta": -1.65,
        "percent_delta": -0.3548,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.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.218 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-
SO0.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.294)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO0.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-
SO0.0000.000
8. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1880.188
3B0.0150.015
BB0.3790.379
H1.0080.008
HR0.1700.170
RBI0.554-0.446
SO0.6080.608
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.188
3B0.000-0.015
AB4.0000.000
AVG0.259-
BB1.0000.621
H1.000-0.008
HR0.000-0.170
OBP0.330-
R1.0001.000
RBI1.0000.446
SLG0.447-
SO0.000-0.608
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.158
predicted_3B0.000-0.019
predicted_AB4.000-0.325
predicted_AVG0.2590.033
predicted_BB1.0000.627
predicted_H1.0000.021
predicted_HR0.000-0.164
predicted_OBP0.3300.042
predicted_R1.0000.506
predicted_RBI1.0000.381
predicted_SLG0.4470.061
predicted_SO0.000-0.699
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2660.007
BB1.0000.000
H1.0000.000
HR0.0000.000
OBP0.3380.008
R1.0000.000
RBI1.0000.000
SLG0.4580.011
SO0.0000.000
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.0001.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO0.0000.000
14. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.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
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: 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
AB3
H1
2B1
3B0
HR0
R1
RBI1
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.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 20261007: 142
All-history rows before 20261007: 142
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2263
Diff (system - data): 0.0177
System opponent_avg: 0.2710
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.2104.0004.000Hitting_AB3.6414.0000.3590.000
predicted_AVG0.2340.2500.250Hitting_AVG0.2260.0000.0240.250
predicted_BB0.2220.0000.000Hitting_BB0.2460.000-0.2460.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.2500.250Hitting_OBP0.2770.000-0.0270.250
predicted_R0.5780.0000.000Hitting_R0.5700.000-0.5700.000
predicted_RBI0.4900.0000.000Hitting_RBI0.3940.000-0.3940.000
predicted_SLG0.3910.2500.250Hitting_SLG0.3540.000-0.1040.250
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 Metrics2
Deboosted Metrics6
Better Metrics2
Worse Metrics6
Biggest Boostpredicted_SLG: 0.3910 -> 0.4120 (boost 0.0210, better)
Biggest Deboostpredicted_R: 0.5780 -> 0.0000 (deboost -0.5780, 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.2100 -> 4.0172 (deboost -0.1928, 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.3829 (deboost -0.0104, 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.21), rates preserved: AVG=0.233 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_engine54141predicted_RBI: 0.0000 -> 0.5145 (boost 0.5145, better)predicted_H: 1.0000 -> 0.9286 (deboost -0.0714, 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_allocation85353predicted_RBI: 0.5145 -> 1.0000 (boost 0.4855, better)predicted_BB: 0.2384 -> 0.0000 (deboost -0.2384, 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_environment33030predicted_SLG: 0.4260 -> 0.4360 (boost 0.0100, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_realization20202-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.4360 -> 0.4120 (deboost -0.0240, 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": "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.21,
        "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.0172,
        "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.21,
          "after": 4.0172,
          "delta": -0.1928,
          "percent_delta": -0.0458,
          "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.21,
          "after": 4.0172,
          "delta": -0.1928,
          "percent_delta": -0.0458,
          "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.0172,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.1946,
        "predicted_H": 0.9482,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1546,
        "predicted_OBP": 0.2713,
        "predicted_R": 0.578,
        "predicted_RBI": 0.4904,
        "predicted_SLG": 0.3829,
        "predicted_SO": 1.0348
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.3933,
          "after": 0.3829,
          "delta": -0.0104,
          "percent_delta": -0.0264,
          "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.3829,
          "delta": -0.0104,
          "percent_delta": -0.0264,
          "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.233 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.9286,
        "predicted_HR": 0.1651,
        "predicted_RBI": 0.5145,
        "predicted_SO": 0.987
      },
      "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.9286,
          "delta": -0.0714,
          "percent_delta": -0.0714,
          "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
        }
      ],
      "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.5145,
          "delta": 0.5145,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9286,
          "delta": -0.0714,
          "percent_delta": -0.0714,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.426,
        "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.236,
          "after": 0.246,
          "delta": 0.01,
          "percent_delta": 0.0424,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2384,
          "after": 0.0,
          "delta": -0.2384,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9286,
          "after": 1.0,
          "delta": 0.0714,
          "percent_delta": 0.0769,
          "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_OBP",
          "before": 0.2713,
          "after": 0.297,
          "delta": 0.0257,
          "percent_delta": 0.0947,
          "direction": "boost",
          "projection_effect": "better",
          "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.3829,
          "after": 0.426,
          "delta": 0.0431,
          "percent_delta": 0.1126,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 3,
        "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_BB",
          "before": 0.2384,
          "after": 0.0,
          "delta": -0.2384,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.426,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.436,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.253,
          "delta": 0.007,
          "percent_delta": 0.0285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.304,
          "delta": 0.007,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.426,
          "after": 0.436,
          "delta": 0.01,
          "percent_delta": 0.0235,
          "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.426,
          "after": 0.436,
          "delta": 0.01,
          "percent_delta": 0.0235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.236,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.236,
          "delta": -0.017,
          "percent_delta": -0.0672,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.294,
          "delta": -0.01,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.412,
          "delta": -0.024,
          "percent_delta": -0.055,
          "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.436,
          "after": 0.412,
          "delta": -0.024,
          "percent_delta": -0.055,
          "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.089,
        "after": 0.0,
        "delta": -0.089,
        "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_BB",
        "before": 0.222,
        "after": 0.0,
        "delta": -0.222,
        "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.274,
        "after": 0.294,
        "delta": 0.02,
        "percent_delta": 0.073,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.578,
        "after": 0.0,
        "delta": -0.578,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.391,
        "after": 0.412,
        "delta": 0.021,
        "percent_delta": 0.0537,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SLG",
        "before": 0.391,
        "after": 0.412,
        "delta": 0.021,
        "percent_delta": 0.0537,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.578,
        "after": 0.0,
        "delta": -0.578,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.089-
predicted_3B0.022-
predicted_AB4.210-
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.017-0.193
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.0170.000
predicted_AVG0.236-0.003
predicted_BB0.1950.000
predicted_H0.948-0.006
predicted_HBP0.0160.000
predicted_HR0.155-0.001
predicted_OBP0.271-0.004
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.21), rates preserved: AVG=0.233 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.929-0.071
HR0.1650.165
RBI0.5140.514
SO0.987-0.013
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.246-
BB0.000-0.238
H1.0000.071
HR0.000-0.165
OBP0.297-
R1.0000.000
RBI1.0000.486
SLG0.426-
SO1.0000.013
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.017
predicted_AVG0.2460.010
predicted_BB0.000-0.195
predicted_H1.0000.052
predicted_HR0.000-0.155
predicted_OBP0.2970.026
predicted_R1.0000.422
predicted_RBI1.0000.510
predicted_SLG0.4260.043
predicted_SO1.000-0.035
10. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2530.007
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3040.007
R1.0000.000
RBI1.0000.000
SLG0.4360.010
SO1.0000.000
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-
R0.000-1.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
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: 45
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-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.21003.73704.0172model_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
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_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 20261007: 378
All-history rows before 20261007: 378
System season_avg: 0.1940
Data season_avg (2026 season-to-date): 0.1933
Diff (system - data): 0.0007
System opponent_avg: 0.2970

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0730.0000.000Hitting_2B0.0691.000-0.069-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8054.0004.000Hitting_AB3.0113.0000.9891.000
predicted_AVG0.2450.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.3330.0000.000Hitting_R0.3700.000-0.3700.000
predicted_RBI0.4600.0000.000Hitting_RBI0.3100.000-0.3100.000
predicted_SLG0.4100.2500.250Hitting_SLG0.3430.667-0.093-0.417
predicted_SO0.8541.0001.000Hitting_SO0.9132.0000.087-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 2.8050 -> 4.0000 (boost 1.1950, better)
Biggest Deboostpredicted_RBI: 0.4600 -> 0.0000 (deboost -0.4600, 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.253 HR/AB=0.035
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
7consistency_constraints10101-predicted_R: 0.3785 -> 0.0000 (deboost -0.3785, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3700 (boost 0.3700, better)predicted_H: 1.0000 -> 0.7028 (deboost -0.2972, 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_allocation92718predicted_SO: 0.7986 -> 1.0000 (boost 0.2014, worse)predicted_H: 0.7028 -> 0.0000 (deboost -0.7028, 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_environment33030predicted_SLG: 0.4220 -> 0.4330 (boost 0.0110, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3160 -> 0.2950 (deboost -0.0210, 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": "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.245,
        "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.2519,
        "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.245,
          "after": 0.2519,
          "delta": 0.0069,
          "percent_delta": 0.0282,
          "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.2519,
          "after": 0.2449,
          "delta": -0.007,
          "percent_delta": -0.0278,
          "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.253 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=5.0, weight=0.057, BvP AVG=0.400)",
      "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.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": 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.1185,
        "predicted_3B": 0.0076,
        "predicted_BB": 0.3331,
        "predicted_H": 0.7028,
        "predicted_HR": 0.1537,
        "predicted_RBI": 0.37,
        "predicted_SO": 0.7986
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1185,
          "delta": 0.1185,
          "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.7028,
          "delta": -0.2972,
          "percent_delta": -0.2972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1537,
          "delta": 0.1537,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.37,
          "delta": 0.37,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7986,
          "delta": -0.2014,
          "percent_delta": -0.2014,
          "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.37,
          "delta": 0.37,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7028,
          "delta": -0.2972,
          "percent_delta": -0.2972,
          "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.229,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.422,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1185,
          "after": 0.0,
          "delta": -0.1185,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2449,
          "after": 0.229,
          "delta": -0.0159,
          "percent_delta": -0.0649,
          "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.7028,
          "after": 0.0,
          "delta": -0.7028,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1537,
          "after": 0.0,
          "delta": -0.1537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3404,
          "after": 0.31,
          "delta": -0.0304,
          "percent_delta": -0.0893,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.0,
          "delta": -0.37,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3894,
          "after": 0.422,
          "delta": 0.0326,
          "percent_delta": 0.0837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7986,
          "after": 1.0,
          "delta": 0.2014,
          "percent_delta": 0.2522,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7986,
          "after": 1.0,
          "delta": 0.2014,
          "percent_delta": 0.2522,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7028,
          "after": 0.0,
          "delta": -0.7028,
          "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.229,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.422,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.433,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.234,
          "delta": 0.005,
          "percent_delta": 0.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.316,
          "delta": 0.006,
          "percent_delta": 0.0194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.422,
          "after": 0.433,
          "delta": 0.011,
          "percent_delta": 0.0261,
          "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.422,
          "after": 0.433,
          "delta": 0.011,
          "percent_delta": 0.0261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 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
        }
      ],
      "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": 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": 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": 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.218,
        "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.295,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.418,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "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_OBP",
          "before": 0.316,
          "after": 0.295,
          "delta": -0.021,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.418,
          "delta": -0.015,
          "percent_delta": -0.0346,
          "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.316,
          "after": 0.295,
          "delta": -0.021,
          "percent_delta": -0.0665,
          "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.073,
        "after": 0.0,
        "delta": -0.073,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.245,
        "after": 0.218,
        "delta": -0.027,
        "percent_delta": -0.1102,
        "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.295,
        "delta": -0.044,
        "percent_delta": -0.1298,
        "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.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.418,
        "delta": 0.008,
        "percent_delta": 0.0195,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.854,
        "after": 1.0,
        "delta": 0.146,
        "percent_delta": 0.171,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.805,
        "after": 4.0,
        "delta": 1.195,
        "percent_delta": 0.426,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "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.245-
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.007
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.007
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.253 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=5.0, weight=0.057, BvP AVG=0.400)

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.1180.118
3B0.0080.008
BB0.3330.333
H0.703-0.297
HR0.1540.154
RBI0.3700.370
SO0.799-0.201
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.118
3B0.000-0.008
AB3.0000.000
AVG0.229-
BB0.000-0.333
H0.000-0.703
HR0.000-0.154
OBP0.310-
R0.0000.000
RBI0.000-0.370
SLG0.422-
SO1.0000.201
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.229-0.016
predicted_BB0.000-0.409
predicted_H0.000-0.692
predicted_HR0.000-0.098
predicted_OBP0.310-0.030
predicted_R0.000-0.379
predicted_RBI0.000-0.456
predicted_SLG0.4220.033
predicted_SO1.0000.162
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2340.005
BB0.0000.000
H0.0000.000
HR0.0000.000
OBP0.3160.006
R0.0000.000
RBI0.0000.000
SLG0.4330.011
SO1.0000.000
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
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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
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: 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.24500.26100.2519model_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
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_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 20261007: 224
All-history rows before 20261007: 224
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2639
Diff (system - data): -0.0189
System opponent_avg: 0.1220
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.2354.0004.000Hitting_AB3.3663.0000.6341.000
predicted_AVG0.2450.2500.250Hitting_AVG0.2640.333-0.014-0.083
predicted_BB0.3680.0000.000Hitting_BB0.4110.000-0.4110.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.2500.250Hitting_OBP0.3440.333-0.094-0.083
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.2500.250Hitting_SLG0.3730.333-0.123-0.083
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 Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 3.2350 -> 4.0000 (boost 0.7650, better)
Biggest Deboostpredicted_BB: 0.3680 -> 0.0000 (deboost -0.3680, 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.253 HR/AB=0.009
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, 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_engine64251predicted_RBI: 0.0000 -> 0.4197 (boost 0.4197, better)predicted_H: 1.0000 -> 0.8306 (deboost -0.1694, 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_allocation93627predicted_H: 0.8306 -> 1.0000 (boost 0.1694, better)predicted_RBI: 0.4197 -> 0.0000 (deboost -0.4197, 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_environment33030predicted_SLG: 0.3600 -> 0.3690 (boost 0.0090, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_realization11010predicted_RBI: 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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3110 -> 0.2930 (deboost -0.0180, 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": "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.253 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=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      }
    },
    {
      "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.152,
        "predicted_3B": 0.0122,
        "predicted_BB": 0.3113,
        "predicted_H": 0.8306,
        "predicted_HR": 0.0851,
        "predicted_RBI": 0.4197,
        "predicted_SO": 0.8524
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.152,
          "delta": 0.152,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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.8306,
          "delta": -0.1694,
          "percent_delta": -0.1694,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0851,
          "delta": 0.0851,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4197,
          "delta": 0.4197,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8524,
          "delta": -0.1476,
          "percent_delta": -0.1476,
          "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.4197,
          "delta": 0.4197,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8306,
          "delta": -0.1694,
          "percent_delta": -0.1694,
          "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.152,
          "after": 0.0,
          "delta": -0.152,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2446,
          "after": 0.237,
          "delta": -0.0076,
          "percent_delta": -0.0311,
          "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.8306,
          "after": 1.0,
          "delta": 0.1694,
          "percent_delta": 0.2039,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0851,
          "after": 0.0,
          "delta": -0.0851,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.305,
          "delta": -0.01,
          "percent_delta": -0.0317,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4197,
          "after": 0.0,
          "delta": -0.4197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3352,
          "after": 0.36,
          "delta": 0.0248,
          "percent_delta": 0.074,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8524,
          "after": 1.0,
          "delta": 0.1476,
          "percent_delta": 0.1732,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8306,
          "after": 1.0,
          "delta": 0.1694,
          "percent_delta": 0.2039,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4197,
          "after": 0.0,
          "delta": -0.4197,
          "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.36,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.369,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.243,
          "delta": 0.006,
          "percent_delta": 0.0253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.311,
          "delta": 0.006,
          "percent_delta": 0.0197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.369,
          "delta": 0.009,
          "percent_delta": 0.025,
          "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.36,
          "after": 0.369,
          "delta": 0.009,
          "percent_delta": 0.025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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_RBI",
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 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": 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.23,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.293,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.357,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.23,
          "delta": -0.013,
          "percent_delta": -0.0535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.293,
          "delta": -0.018,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.357,
          "delta": -0.012,
          "percent_delta": -0.0325,
          "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.311,
          "after": 0.293,
          "delta": -0.018,
          "percent_delta": -0.0579,
          "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.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": 4.0,
        "delta": 0.765,
        "percent_delta": 0.2365,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.23,
        "delta": -0.015,
        "percent_delta": -0.0612,
        "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": 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.293,
        "delta": -0.029,
        "percent_delta": -0.0901,
        "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.357,
        "delta": 0.021,
        "percent_delta": 0.0625,
        "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": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.235,
        "after": 4.0,
        "delta": 0.765,
        "percent_delta": 0.2365,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.368,
        "after": 0.0,
        "delta": -0.368,
        "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.253 HR/AB=0.009

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

Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.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.1520.152
3B0.0120.012
BB0.3110.311
H0.831-0.169
HR0.0850.085
RBI0.4200.420
SO0.852-0.148
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.152
3B0.000-0.012
AB4.0000.000
AVG0.237-
BB0.000-0.311
H1.0000.169
HR0.000-0.085
OBP0.305-
R0.0000.000
RBI0.000-0.420
SLG0.360-
SO1.0000.148
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.237-0.008
predicted_BB0.000-0.341
predicted_H1.0000.189
predicted_HR0.000-0.029
predicted_OBP0.305-0.010
predicted_R0.000-0.313
predicted_RBI0.000-0.386
predicted_SLG0.3600.025
predicted_SO1.0000.120
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2430.006
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3110.006
R0.0000.000
RBI0.0000.000
SLG0.3690.009
SO1.0000.000
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
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI1.0001.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
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: 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
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_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 20261007: 271
All-history rows before 20261007: 271
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2559
Diff (system - data): -0.0179
System opponent_avg: 0.2670
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.2500.250Hitting_AVG0.2560.000-0.0060.250
predicted_BB0.2910.0000.000Hitting_BB0.3510.000-0.3510.000
predicted_CS-0.0000.000BaseRunning_CS0.0440.000-0.0440.000
predicted_H0.7561.0001.000Hitting_H0.8410.0000.1591.000
predicted_HR0.1280.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.3020.2500.250Hitting_OBP0.3290.000-0.0790.250
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.2500.250Hitting_SLG0.4440.000-0.1940.250
predicted_SO1.2912.0002.000Hitting_SO1.3361.0000.6641.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_AB: 3.1740 -> 4.0000 (boost 0.8260, better)
Biggest Deboostpredicted_RBI: 0.4650 -> 0.0000 (deboost -0.4650, 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_scaling72534predicted_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.234 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_engine65142predicted_RBI: 0.0000 -> 0.4894 (boost 0.4894, better)predicted_H: 1.0000 -> 0.8604 (deboost -0.1396, 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_allocation105564predicted_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
10kpi_run_environment44040predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
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_realization31203predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)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_AVG: 0.2500 -> 0.2370 (deboost -0.0130, 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": "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.234 HR/AB=0.035",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.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": 1.0,
          "delta": -0.3353,
          "percent_delta": -0.2511,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.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": 1.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.8604,
        "predicted_HR": 0.1561,
        "predicted_RBI": 0.4894,
        "predicted_SO": 1.2444
      },
      "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.8604,
          "delta": -0.1396,
          "percent_delta": -0.1396,
          "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": 1.0,
          "after": 1.2444,
          "delta": 0.2444,
          "percent_delta": 0.2444,
          "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.4894,
          "delta": 0.4894,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8604,
          "delta": -0.1396,
          "percent_delta": -0.1396,
          "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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.43,
        "predicted_SO": 1.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.244,
          "delta": 0.0178,
          "percent_delta": 0.0787,
          "direction": "boost",
          "projection_effect": "better",
          "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.8604,
          "after": 1.0,
          "delta": 0.1396,
          "percent_delta": 0.1623,
          "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.307,
          "delta": 0.0204,
          "percent_delta": 0.0712,
          "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.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.43,
          "delta": 0.0495,
          "percent_delta": 0.1301,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2444,
          "after": 1.0,
          "delta": -0.2444,
          "percent_delta": -0.1964,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 5,
        "deboosted_metrics": 5,
        "better_metrics": 6,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.43,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.25,
          "delta": 0.006,
          "percent_delta": 0.0246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.314,
          "delta": 0.007,
          "percent_delta": 0.0228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.44,
          "delta": 0.01,
          "percent_delta": 0.0233,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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.237,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.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.429,
        "predicted_SO": 2.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.237,
          "delta": -0.013,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.303,
          "delta": -0.011,
          "percent_delta": -0.035,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.429,
          "delta": -0.011,
          "percent_delta": -0.025,
          "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.25,
          "after": 0.237,
          "delta": -0.013,
          "percent_delta": -0.052,
          "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.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_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": 1.0,
        "delta": 0.244,
        "percent_delta": 0.3228,
        "direction": "boost",
        "projection_effect": "better",
        "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_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.429,
        "delta": 0.015,
        "percent_delta": 0.0362,
        "direction": "boost",
        "projection_effect": "better",
        "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": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "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_RBI",
        "before": 0.465,
        "after": 0.0,
        "delta": -0.465,
        "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.234 HR/AB=0.035

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1630.163
3B0.0130.013
BB0.2920.292
H0.860-0.140
HR0.1560.156
RBI0.4890.489
SO1.2440.244
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.244-
BB0.000-0.292
H1.0000.140
HR0.000-0.156
OBP0.307-
R1.0001.000
RBI0.000-0.489
SLG0.430-
SO1.000-0.244
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.2440.018
predicted_BB0.000-0.279
predicted_H1.0000.255
predicted_HR0.000-0.116
predicted_OBP0.3070.020
predicted_R1.0000.507
predicted_RBI0.000-0.426
predicted_SLG0.4300.049
predicted_SO1.000-0.335
10. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
AVG0.2500.006
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3140.007
R1.0000.000
RBI1.0001.000
SLG0.4400.010
SO1.0000.000
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-
R0.000-1.000
RBI0.000-1.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
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: 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
H1
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 20261007: 449
All-history rows before 20261007: 449
System season_avg: 0.2300
Data season_avg (2026 season-to-date): 0.2460
Diff (system - data): -0.0160
System opponent_avg: 0.3230
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 Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
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.219 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
7consistency_constraints10101-predicted_R: 0.3638 -> 0.0000 (deboost -0.3638, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3905 (boost 0.3905, better)predicted_H: 1.0000 -> 0.8024 (deboost -0.1976, 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_H: 0.8024 -> 1.0000 (boost 0.1976, better)predicted_RBI: 0.3905 -> 0.0000 (deboost -0.3905, 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_environment33030predicted_SLG: 0.3990 -> 0.4090 (boost 0.0100, better)-KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup
12market_blend00000--Market blend not applied: no props for this hitter
13play_by_play_realization21111predicted_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_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.219 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=9.0, weight=0.092, 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.9077,
        "bvp": 0.0923
      }
    },
    {
      "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.119,
        "predicted_3B": 0.0073,
        "predicted_BB": 0.2081,
        "predicted_H": 0.8024,
        "predicted_HR": 0.1223,
        "predicted_RBI": 0.3905,
        "predicted_SO": 0.8256
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.119,
          "delta": 0.119,
          "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.8024,
          "delta": -0.1976,
          "percent_delta": -0.1976,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1223,
          "delta": 0.1223,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3905,
          "delta": 0.3905,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8256,
          "delta": -0.1744,
          "percent_delta": -0.1744,
          "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.3905,
          "delta": 0.3905,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8024,
          "delta": -0.1976,
          "percent_delta": -0.1976,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.399,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.0,
          "delta": -0.119,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.246,
          "delta": 0.034,
          "percent_delta": 0.1604,
          "direction": "boost",
          "projection_effect": "better",
          "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.8024,
          "after": 1.0,
          "delta": 0.1976,
          "percent_delta": 0.2463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1223,
          "after": 0.0,
          "delta": -0.1223,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2702,
          "after": 0.297,
          "delta": 0.0268,
          "percent_delta": 0.0992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3905,
          "after": 0.0,
          "delta": -0.3905,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3304,
          "after": 0.399,
          "delta": 0.0686,
          "percent_delta": 0.2076,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8256,
          "after": 1.0,
          "delta": 0.1744,
          "percent_delta": 0.2112,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8024,
          "after": 1.0,
          "delta": 0.1976,
          "percent_delta": 0.2463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3905,
          "after": 0.0,
          "delta": -0.3905,
          "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.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.399,
        "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 club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.252,
          "delta": 0.006,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.303,
          "delta": 0.006,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.409,
          "delta": 0.01,
          "percent_delta": 0.0251,
          "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.399,
          "after": 0.409,
          "delta": 0.01,
          "percent_delta": 0.0251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "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": 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": 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_H",
          "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_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": 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.252,
        "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_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.409,
        "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.252,
        "delta": 0.022,
        "percent_delta": 0.0957,
        "direction": "boost",
        "projection_effect": "better",
        "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.303,
        "delta": 0.022,
        "percent_delta": 0.0783,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.387,
        "after": 0.0,
        "delta": -0.387,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.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.409,
        "delta": 0.047,
        "percent_delta": 0.1298,
        "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": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "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.219 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=9.0, weight=0.092, BvP AVG=0.333)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1190.119
3B0.0070.007
BB0.2080.208
H0.802-0.198
HR0.1220.122
RBI0.3910.391
SO0.826-0.174
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.119
3B0.000-0.007
AB3.0000.000
AVG0.246-
BB0.000-0.208
H1.0000.198
HR0.000-0.122
OBP0.297-
R0.0000.000
RBI0.000-0.391
SLG0.399-
SO1.0000.174
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.2460.034
predicted_BB0.000-0.263
predicted_H1.0000.301
predicted_HR0.000-0.102
predicted_OBP0.2970.027
predicted_R0.000-0.364
predicted_RBI0.000-0.360
predicted_SLG0.3990.069
predicted_SO1.0000.056
11. kpi_run_environment

KPI club run ratio x1.050 applied to runs and RBI, x1.025 to on-base events; integer line re-allocated across the lineup

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
AVG0.2520.006
BB0.0000.000
H1.0000.000
HR0.0000.000
OBP0.3030.006
R0.0000.000
RBI0.0000.000
SLG0.4090.010
SO1.0000.000
12. market_blend

Market blend not applied: no props for this hitter

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
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
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
Max Fried (608331) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261007: 21
All-history rows before 20261007: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.6191.0001.3812.000
predicted_ER2.0002.0002.000Pitching_ER1.7141.0000.2861.000
predicted_H4.0004.0004.000Pitching_H3.9053.0000.0951.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.4956.000-0.395-0.900
predicted_SO7.0007.0007.000Pitching_SO5.2386.0001.7621.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_ER: 0.0000 -> 2.0000 (boost 2.0000, worse)
Biggest Deboostpredicted_IP: 6.0000 -> 5.1000 (deboost -0.9000, 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 published; 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_realization54114predicted_ER: 0.0000 -> 2.0000 (boost 2.0000, worse)predicted_IP: 6.0000 -> 5.1000 (deboost -0.9000, 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": "608331",
  "player_name": "Max Fried",
  "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": 0.0,
        "predicted_H": 2.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 published; 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": 0.0,
        "predicted_H": 2.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": 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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "predicted_R": 2.0,
        "predicted_SO": 7.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": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 4.0,
          "delta": 2.0,
          "percent_delta": 1.0,
          "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": 5.0,
          "after": 7.0,
          "delta": 2.0,
          "percent_delta": 0.4,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 5.1,
          "delta": -0.9,
          "percent_delta": -0.15,
          "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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.1,
        "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
      }
    }
  ],
  "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": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 4.0,
        "delta": 2.0,
        "percent_delta": 1.0,
        "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": 5.0,
        "after": 7.0,
        "delta": 2.0,
        "percent_delta": 0.4,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 4,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 5.1,
        "delta": -0.9,
        "percent_delta": -0.15,
        "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_ER0.000-
predicted_H2.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 published; 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_ER0.0000.000
predicted_H2.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO5.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
BB3.000-
BF23.000-
ER2.000-
H4.000-
HR0.000-
IP5.100-
Pitches92.000-
R2.000-
SO7.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 21
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.2008.00020.0006.00027.0002.0002.51160.90700.27910.69770.20930.94190.0698
last_100.351052.00014.00038.00014.00053.0004.0002.42311.00000.26920.73080.26921.01920.0769
season0.2021118.20036.00082.00034.000110.0005.0002.73030.97750.30340.69100.28650.92700.0421
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5310
predicted_ER1.8340
predicted_ERA2.9282
predicted_H4.2910
predicted_HR0.4640
predicted_IP5.2000
predicted_SO5.4100
predicted_WHIP1.0329
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.53101.7333model_form_blend
predicted_ER0.00001.83401.0431model_form_blend
predicted_ERA-2.92822.9282form_only
predicted_H2.00004.29103.3030model_form_blend
predicted_HR0.00000.46400.2639model_form_blend
predicted_IP6.00005.20005.2000model_form_blend
predicted_SO5.00005.41005.2332model_form_blend
predicted_WHIP-1.03291.0329form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H4
R2
ER2
BB3
SO7
HR0
BF23
Pitches92

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER1
Pitching_ERA1.50
Pitching_Flyouts8
Pitching_Groundouts3
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches98
Pitching_R1
Pitching_SO6
Pitching_Strikes62
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260930_BOS@NYY
game_typefull
mlbID608331
playerID608331
playerNameMax Fried
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-09-30
sl_k_percent24.0
sl_bb_percent7.6
sl_woba0.245
sl_xwoba0.246
sl_sweet_spot_percent28.5
sl_barrel_batted_rate2.4
sl_hard_hit_percent29.8
sl_whiff_percent25.0
sl_swing_percent46.0
sl_avg_best_speed74.556119375
sl_avg_hyper_speed92.608685451
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 20261007: 27
All-history rows before 20261007: 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_ER0.0000.0000.000Pitching_ER2.0370.000-2.0370.000
predicted_H0.0000.0000.000Pitching_H4.8150.000-4.8150.000
predicted_IP1.0001.0001.000Pitching_InningsPitched4.9410.200-3.9410.800
predicted_SO0.0000.0000.000Pitching_SO5.2960.000-5.2960.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: 2.0000 -> 0.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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization40431-predicted_ER: 2.0000 -> 0.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": 1.0,
        "predicted_ER": 2.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 published; 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.0,
        "predicted_R": 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": "better",
          "material": true
        },
        {
          "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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.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.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
      }
    }
  ],
  "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": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 0,
      "deboosted_metrics": 4,
      "better_metrics": 3,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.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_ER2.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 published; 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-
BF3.000-
ER0.000-
H0.000-
HR0.000-
IP1.000-
Pitches9.000-
R0.000-
SO0.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_BB1.00001.08701.0508model_form_blend
predicted_ER2.00001.13501.4948model_form_blend
predicted_ERA-2.70932.7093form_only
predicted_H2.00003.45002.8468model_form_blend
predicted_HR0.00000.29700.1734model_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
H0
R0
ER0
BB0
SO0
HR0
BF3
Pitches9

Latest Real Data Snapshot (before report date)

Latest 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 20261007: 65
All-history rows before 20261007: 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_ER1.0001.0001.000Pitching_ER0.2310.0000.7691.000
predicted_H1.0001.0001.000Pitching_H0.9230.0000.0771.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2201.000-0.1200.100
predicted_SO0.0000.0000.000Pitching_SO1.0620.000-1.0620.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics6
Boosted Metrics3
Deboosted Metrics3
Better Metrics1
Worse Metrics5
Biggest Boostpredicted_ER: 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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization63315predicted_ER: 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 published; 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.1,
        "predicted_R": 1.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": "better",
          "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
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.1,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "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": 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
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 6,
      "boosted_metrics": 3,
      "deboosted_metrics": 3,
      "better_metrics": 1,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_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 published; 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-
ER1.000-
H1.000-
HR1.000-
IP1.100-
Pitches23.000-
R1.000-
SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 65
Reference playing time: 1.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
R1
ER1
BB0
SO0
HR1
BF5
Pitches23

Latest Real Data Snapshot (before report date)

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

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3080.0000.6921.000
predicted_ER0.0000.0000.000Pitching_ER0.1540.000-0.1540.000
predicted_H1.0001.0001.000Pitching_H0.6150.0000.3851.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 Metrics5
Boosted Metrics3
Deboosted Metrics2
Better Metrics4
Worse Metrics1
Biggest Boostpredicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse)
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 published; the staff line follows the published score, not a KPI rescale
7play_by_play_realization53241predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse)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": "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": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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 published; 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": 1.1,
        "predicted_R": 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": "worse",
          "material": true
        },
        {
          "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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 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": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "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": 5,
      "boosted_metrics": 3,
      "deboosted_metrics": 2,
      "better_metrics": 4,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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_H2.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 published; 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-
BF6.000-
ER0.000-
H1.000-
HR0.000-
IP1.100-
Pitches25.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_ER1.00000.19700.5730model_form_blend
predicted_ERA-2.22092.2209form_only
predicted_H2.00000.67101.2933model_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
H1
R0
ER0
BB1
SO1
HR0
BF6
Pitches25

Latest Real Data Snapshot (before report date)

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