Ultra Detailed Player Audit - 20261010

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.

20261010_CHW@CLE

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 5, "home_runs": 6, "confidence": 0.52684521, "home_win_probability": 0.52684521, "away_win_probability": 0.47315479000000005, "predicted_score_text": "CHW 5 - 6 CLE", "uncapped_home_win_probability": 0.537156, "uncapped_away_win_probability": 0.462844, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.537156, "discount_factor": 0.7225, "published_confidence": 0.526845, "guardrail_confidence_cap": 0.56, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": false, "confidence_before_ceiling": 0.526845, "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.566467, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.526845, "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": 6, "predicted_score_text": "CHW 5 - 6 CLE", "confidence": 0.52684521, "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": 6, "score_text": "CHW 5 - 6 CLE", "winner": "CLE"}, "final_simulation_score": {"away_runs": 5, "home_runs": 6, "score_text": "CHW 5 - 6 CLE", "winner": "CLE"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0225, "recent_form_edge_home_minus_away": -0.03, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 5, "home_runs": 6, "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": 5, "published_winner": "CLE", "published_winner_draw_share": 0.2, "draw_majority_team": "CHW", "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 5, "home_runs": 6}, "simulation_score": {"away_runs": 5, "home_runs": 6}}, "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": 6, "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 predictionCHW 5 - 6 CLECLE0.527enhanced_prediction.pre_simulation_targetTrue
Simulation drawCHW 5 - 6 CLECLE-organic_simulation_realized_targetTrue

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

Full Prediction Process

Optimization Roadmap Runtime Status

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

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5101; empirical=0.5683; weight=0.4500; final=0.5363
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_analysis9.6000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5268
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.0824.860-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction560.5268Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4kpi_layer56-Savant KPI blend computed and withheld; baseline kept
5embedded_savant_run_environment56-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review56-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target56-Capped at max 12 realistic runs
8simulation_result56-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.4672664576802508,
  "base_low_score_probability": 0.4278996865203762,
  "low_score_signal_threshold": 0.5078996865203762,
  "low_score_signal_strength": 0.039366771159874636,
  "confidence": 0.646,
  "factors": {
    "environmental": 1.05,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.092
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 11,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 9.6,
  "low_score_model_expected_total_runs": 9.6,
  "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": 739,
  "near_bucket_sample_size": 739,
  "medium_bucket_sample_size": 1001,
  "wide_bucket_sample_size": 1115,
  "global_sample_size": 1140,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5683,
  "bayesian_hit_rate": 0.5667,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5627,
  "raw_pick_probability_unclamped": 0.5627,
  "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.5377,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.562662,
  "uncapped_away_win_probability": 0.437338,
  "calibrated_pick_probability": 0.5372,
  "predicted_side": "home",
  "reliability": 0.976222,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.984544
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.5101,
  "sample_size": 739,
  "empirical_hit_rate": 0.5683,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.53629,
  "published_confidence": 0.526845,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": -5.0,
  "absolute_net_margin": 5.0,
  "home_average_margin": -1.0,
  "home_run_delta": -0.0288,
  "away_run_delta": 0.0288,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 3.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -4.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -3.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5246913580246914,
    "runs_scored": 678,
    "runs_allowed": 667,
    "run_differential": 11,
    "run_differential_per_game": 0.06790123456790123,
    "available": true
  },
  "away": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185185185185185,
    "runs_scored": 776,
    "runs_allowed": 720,
    "run_differential": 56,
    "run_differential_per_game": 0.345679012345679,
    "available": true
  },
  "run_differential_edge_per_game": -0.2778,
  "win_pct_edge": 0.0062,
  "quality_edge": -0.1605,
  "season_quality_edge": -0.2685,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.2685,
    "recent_quality_edge": 0.04,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.1605
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.016105061651613514
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.015604888784574392
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.015475104170797418
    },
    {
      "home_runs": 6,
      "away_runs": 5,
      "probability": 0.015319647301526141
    },
    {
      "home_runs": 5,
      "away_runs": 6,
      "probability": 0.015164065395994575
    }
  ],
  "home_distribution": {
    "0": 0.042088349881007514,
    "1": 0.06275675094894718,
    "2": 0.0855296249829942,
    "3": 0.10654430703624167,
    "4": 0.12131136654563023,
    "5": 0.12624968566904232,
    "6": 0.12009271980554614,
    "7": 0.10441445365599299,
    "8": 0.08297783986028358,
    "9": 0.06027277591819486,
    "10": 0.04001638265884713,
    "11": 0.024283541571535158,
    "12": 0.013469261618018659,
    "13": 0.006828622676162745,
    "14": 0.003164317171555586
  },
  "away_distribution": {
    "0": 0.04352501688314665,
    "1": 0.06483872848411987,
    "2": 0.08812143769079438,
    "3": 0.10926478149299158,
    "4": 0.12360338722333046,
    "5": 0.12756516237063895,
    "6": 0.12011170812532926,
    "7": 0.10317872177202496,
    "8": 0.08086237384618969,
    "9": 0.057816842870782106,
    "10": 0.037714973125808106,
    "11": 0.022445266965423996,
    "12": 0.012186732856621793,
    "13": 0.006036724414603299,
    "14": 0.002728141878195012
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.56,
  "winner_flipped": false,
  "reasons": [
    "local prediction memory shows 3 straight prior same-side picks",
    "a prior same-side pick already missed against the actual result"
  ],
  "signals": {
    "predicted_team": "CLE",
    "opponent_team": "CHW",
    "h2h_net_margin": 0,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-16",
        "predicted_team_runs": 6,
        "opponent_runs": 3,
        "margin_for_predicted_team": 3,
        "winner": "CLE"
      },
      {
        "date": "2026-09-15",
        "predicted_team_runs": 7,
        "opponent_runs": 6,
        "margin_for_predicted_team": 1,
        "winner": "CLE"
      },
      {
        "date": "2026-09-14",
        "predicted_team_runs": 3,
        "opponent_runs": 7,
        "margin_for_predicted_team": -4,
        "winner": "CHW"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 15,
      "consecutive_same_pick_count": 3,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20261008",
          "away": "CLE",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CLE",
          "actual_margin": 4,
          "raw_pick_probability": 0.505,
          "artifact": "20261008_CLE@CHW.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261007",
          "away": "CLE",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CLE",
          "actual_margin": 6,
          "raw_pick_probability": 0.535129,
          "artifact": "20261007_CLE@CHW.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261005",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CHW",
          "actual_margin": 1,
          "raw_pick_probability": 0.5185,
          "artifact": "20261005_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261003",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 3,
          "raw_pick_probability": 0.5229980000000001,
          "artifact": "20261003_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260916",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CLE",
          "actual_margin": 3,
          "raw_pick_probability": 0.556513,
          "artifact": "20260916_CHW@CLE.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "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": "CLE",
      "games": 162,
      "wins": 85,
      "losses": 77,
      "win_pct": 0.5246913580246914,
      "runs_scored": 678,
      "runs_allowed": 667,
      "run_differential": 11,
      "run_differential_per_game": 0.06790123456790123,
      "available": true
    },
    "away": {
      "team": "CHW",
      "games": 162,
      "wins": 84,
      "losses": 78,
      "win_pct": 0.5185185185185185,
      "runs_scored": 776,
      "runs_allowed": 720,
      "run_differential": 56,
      "run_differential_per_game": 0.345679012345679,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.1605,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.53629,
  "final_confidence": 0.5372,
  "calibrated_pick_probability": 0.5372,
  "shrinkage_weight": 0.984544,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 739,
  "calibration_empirical_hit_rate": 0.5683,
  "calibration_bayesian_hit_rate": 0.5667,
  "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": 6
    },
    "margin": 1,
    "probability_before": 0.537156,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.984544,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.537156,
    "aligned_pick_probability": 0.537156
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 34,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 5,
    "home_runs": 6,
    "score_text": "CHW 5 - 6 CLE",
    "winner": "CLE"
  },
  "final_simulation_score": {
    "away_runs": 5,
    "home_runs": 6,
    "score_text": "CHW 5 - 6 CLE",
    "winner": "CLE"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0225,
    "recent_form_edge_home_minus_away": -0.03,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 5,
    "home_runs": 6,
    "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": 5,
      "published_winner": "CLE",
      "published_winner_draw_share": 0.2,
      "draw_majority_team": "CHW",
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 5,
      "home_runs": 6
    },
    "simulation_score": {
      "away_runs": 5,
      "home_runs": 6
    }
  },
  "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": 6,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 5,
  "home_runs": 6,
  "confidence": 0.52684521,
  "home_win_probability": 0.52684521,
  "away_win_probability": 0.47315479000000005,
  "predicted_score_text": "CHW 5 - 6 CLE",
  "uncapped_home_win_probability": 0.537156,
  "uncapped_away_win_probability": 0.462844,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.537156,
    "discount_factor": 0.7225,
    "published_confidence": 0.526845,
    "guardrail_confidence_cap": 0.56,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": false,
    "confidence_before_ceiling": 0.526845,
    "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.566467,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.526845,
    "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": 6,
    "predicted_score_text": "CHW 5 - 6 CLE",
    "confidence": 0.52684521,
    "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": 6,
      "score_text": "CHW 5 - 6 CLE",
      "winner": "CLE"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 6,
      "score_text": "CHW 5 - 6 CLE",
      "winner": "CLE"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0225,
      "recent_form_edge_home_minus_away": -0.03,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 5,
      "home_runs": 6,
      "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": 5,
        "published_winner": "CLE",
        "published_winner_draw_share": 0.2,
        "draw_majority_team": "CHW",
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 5,
        "home_runs": 6
      },
      "simulation_score": {
        "away_runs": 5,
        "home_runs": 6
      }
    },
    "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": 6,
        "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 CHWTrue1.02231.0223190
Home CLETrue1.02211.0221190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSam Antonacci-1.04460.5947neutral0.34800.28400.3990533.6087.509.9014.7014.707.700.0857
CKyle Teel-1.01310.1752neutral0.32100.21100.375011.4047.1085.7013.6035.6035.4013.200.1143
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
DHAndrew Benintendi-1.02320.3097neutral0.30700.24000.39808.6045.1089.3017.3028.3023.908.30-0.1143
RFTristan Peters-1.00190.0255neutral0.31400.24800.38405.4034.1087.50182318.307.50-0.7429
2BChase Meidroth-0.9823-0.2365negative_batter_regression0.30100.23900.34804.6034.6087.208.5019.7021.909.50-1.0857
SSColson Montgomery-1.00090.0126neutral0.29400.19900.38801240.9088.6023.6037.4035.608.50-0.1714
CFBrenton Doyle-0.9413-0.7821negative_batter_regression0.24500.20300.30706.7035.5089.108.6032.5032.705.40-1

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSteven 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
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
CFPetey Halpin-0.9990-0.0139positive_batter_regression0.29500.25200.37705.4025.5085.5020.8025.1017.904.600.8857
SSBrayan Rocchio-0.9791-0.2783neutral0.29400.24600.35002.90308713.8022.1014.406.40-0.4857
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0221,
    "raw_average_factor": 1.0221,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "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": "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": "CF",
        "player_id": "690984",
        "player_name": "Petey Halpin",
        "offense_factor": 0.999,
        "quality_score": -0.0139,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "690984",
          "espn_rank": null
        },
        "metrics": {
          "pa": 171.0,
          "k_percent": 17.9,
          "bb_percent": 4.6,
          "woba": 0.264,
          "xwoba": 0.295,
          "xba": 0.252,
          "xslg": 0.377,
          "sweet_spot_percent": 38.3,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 25.5,
          "exit_velocity_avg": 85.5,
          "launch_angle_avg": 20.8,
          "whiff_percent": 25.1,
          "swing_percent": 59.0
        },
        "components": {
          "expected_quality": -0.165,
          "regression_edge": 0.8857,
          "xwoba_edge": -0.1143,
          "xba_edge": 0.4571,
          "xslg_edge": 0.2,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -1.7286,
          "exit_velocity_edge": -1.16,
          "sweet_spot_edge": 0.8333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "677587",
        "player_name": "Brayan Rocchio",
        "offense_factor": 0.9791,
        "quality_score": -0.2783,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "677587",
          "espn_rank": null
        },
        "metrics": {
          "pa": 548.0,
          "k_percent": 14.4,
          "bb_percent": 6.4,
          "woba": 0.311,
          "xwoba": 0.294,
          "xba": 0.246,
          "xslg": 0.35,
          "sweet_spot_percent": 34.9,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 30.0,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 13.8,
          "whiff_percent": 22.1,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": -0.2445,
          "regression_edge": -0.4857,
          "xwoba_edge": -0.1429,
          "xba_edge": 0.2857,
          "xslg_edge": -0.1857,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -1.0857,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": 0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0223,
    "raw_average_factor": 1.0223,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "803011",
        "player_name": "Sam Antonacci",
        "offense_factor": 1.0446,
        "quality_score": 0.5947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "803011",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 7.7,
          "woba": 0.345,
          "xwoba": 0.348,
          "xba": 0.284,
          "xslg": 0.399,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 5.0,
          "hard_hit_percent": 33.6,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 9.9,
          "whiff_percent": 14.7,
          "swing_percent": 42.5
        },
        "components": {
          "expected_quality": 0.6776,
          "regression_edge": 0.0857,
          "xwoba_edge": 1.4,
          "xba_edge": 1.3714,
          "xslg_edge": 0.5143,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -0.5714,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "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": "3B",
        "player_id": "678246",
        "player_name": "Miguel Vargas",
        "offense_factor": 1.1095,
        "quality_score": 1.4598,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "678246",
          "espn_rank": null
        },
        "metrics": {
          "pa": 651.0,
          "k_percent": 17.9,
          "bb_percent": 14.3,
          "woba": 0.363,
          "xwoba": 0.378,
          "xba": 0.263,
          "xslg": 0.496,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 43.8,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 20.5,
          "whiff_percent": 21.0,
          "swing_percent": 43.9
        },
        "components": {
          "expected_quality": 1.6277,
          "regression_edge": 0.4286,
          "xwoba_edge": 2.2571,
          "xba_edge": 0.7714,
          "xslg_edge": 1.9,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 0.8857,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "1B",
        "player_id": "808959",
        "player_name": "Munetaka Murakami",
        "offense_factor": 1.0835,
        "quality_score": 1.1131,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "808959",
          "espn_rank": null
        },
        "metrics": {
          "pa": 491.0,
          "k_percent": 35.4,
          "bb_percent": 16.6,
          "woba": 0.356,
          "xwoba": 0.351,
          "xba": 0.204,
          "xslg": 0.469,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 20.5,
          "hard_hit_percent": 56.8,
          "exit_velocity_avg": 93.9,
          "launch_angle_avg": 16.1,
          "whiff_percent": 42.3,
          "swing_percent": 40.7
        },
        "components": {
          "expected_quality": 1.3175,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.4857,
          "xba_edge": -0.9143,
          "xslg_edge": 1.5143,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.2,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "643217",
        "player_name": "Andrew Benintendi",
        "offense_factor": 1.0232,
        "quality_score": 0.3097,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "643217",
          "espn_rank": null
        },
        "metrics": {
          "pa": 435.0,
          "k_percent": 23.9,
          "bb_percent": 8.3,
          "woba": 0.311,
          "xwoba": 0.307,
          "xba": 0.24,
          "xslg": 0.398,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 8.6,
          "hard_hit_percent": 45.1,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 17.3,
          "whiff_percent": 28.3,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": 0.3787,
          "regression_edge": -0.1143,
          "xwoba_edge": 0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.5,
          "barrel_edge": 0.4444,
          "hard_hit_edge": 1.0714,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "671976",
        "player_name": "Tristan Peters",
        "offense_factor": 1.0019,
        "quality_score": 0.0255,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671976",
          "espn_rank": null
        },
        "metrics": {
          "pa": 452.0,
          "k_percent": 18.3,
          "bb_percent": 7.5,
          "woba": 0.34,
          "xwoba": 0.314,
          "xba": 0.248,
          "xslg": 0.384,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 34.1,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 18.0,
          "whiff_percent": 23.0,
          "swing_percent": 53.6
        },
        "components": {
          "expected_quality": 0.1505,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.3429,
          "xslg_edge": 0.3,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -0.5,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "805367",
        "player_name": "Chase Meidroth",
        "offense_factor": 0.9823,
        "quality_score": -0.2365,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "805367",
          "espn_rank": null
        },
        "metrics": {
          "pa": 597.0,
          "k_percent": 21.9,
          "bb_percent": 9.5,
          "woba": 0.339,
          "xwoba": 0.301,
          "xba": 0.239,
          "xslg": 0.348,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 4.6,
          "hard_hit_percent": 34.6,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 8.5,
          "whiff_percent": 19.7,
          "swing_percent": 42.0
        },
        "components": {
          "expected_quality": -0.0983,
          "regression_edge": -1.0857,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.0857,
          "xslg_edge": -0.2143,
          "barrel_edge": -0.4444,
          "hard_hit_edge": -0.4286,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "695657",
        "player_name": "Colson Montgomery",
        "offense_factor": 1.0009,
        "quality_score": 0.0126,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695657",
          "espn_rank": null
        },
        "metrics": {
          "pa": 588.0,
          "k_percent": 35.6,
          "bb_percent": 8.5,
          "woba": 0.3,
          "xwoba": 0.294,
          "xba": 0.199,
          "xslg": 0.388,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 12.0,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 23.6,
          "whiff_percent": 37.4,
          "swing_percent": 51.5
        },
        "components": {
          "expected_quality": 0.0426,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.1429,
          "xba_edge": -1.0571,
          "xslg_edge": 0.3571,
          "barrel_edge": 1.2,
          "hard_hit_edge": 0.4714,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": -0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "686668",
        "player_name": "Brenton Doyle",
        "offense_factor": 0.9413,
        "quality_score": -0.7821,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "686668",
          "espn_rank": null
        },
        "metrics": {
          "pa": 192.0,
          "k_percent": 32.7,
          "bb_percent": 5.4,
          "woba": 0.28,
          "xwoba": 0.245,
          "xba": 0.203,
          "xslg": 0.307,
          "sweet_spot_percent": 26.8,
          "barrel_batted_rate": 6.7,
          "hard_hit_percent": 35.5,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 8.6,
          "whiff_percent": 32.5,
          "swing_percent": 54.5
        },
        "components": {
          "expected_quality": -0.8792,
          "regression_edge": -1.0,
          "xwoba_edge": -1.5429,
          "xba_edge": -0.9429,
          "xslg_edge": -0.8,
          "barrel_edge": 0.0222,
          "hard_hit_edge": -0.3,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": -1.0833,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "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 CHWSean BurkeTrue-0.120610.98981.02290.99001.0144neutral0.30000.302025.808.7025.508.3038.80
Home CLEGavin WilliamsTrue-0.221210.98121.10690.98001.1158neutral0.30200.294033.208.2032.8011.4046.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CHWSean BurkeTrueNone7189.63251500000000-0.0129
Home CLEGavin WilliamsTrueNone10690.982292000000000.0624
Run FactorValue
away_runs_vs_home_pitcher0.9916
home_runs_vs_away_pitcher0.9953
home_pitcher_starter_only_factor0.9812
away_pitcher_starter_only_factor0.9898
home_pitcher_workload_share0.5926
away_pitcher_workload_share0.5556
home_pitcher_quality_edge0.0641
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "668909",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 700.0,
      "k_percent": 33.2,
      "bb_percent": 8.2,
      "woba": 0.294,
      "xwoba": 0.302,
      "sweet_spot_percent": 35.0,
      "barrel_batted_rate": 11.4,
      "hard_hit_percent": 46.6,
      "avg_best_speed": 79.2974,
      "avg_hyper_speed": 94.9953,
      "whiff_percent": 32.8,
      "swing_percent": 49.1
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.1041,
      "command_and_miss": 1.1436,
      "regression_edge": -0.2286,
      "xwoba_edge": 0.2857,
      "barrel_edge": -0.9333,
      "hard_hit_edge": -1.2429,
      "whiff_edge": 1.0857,
      "bb_edge": 0.25,
      "pitch_design_score": 0.0624
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "668909",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 106,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 106,
        "pitch_usage": 0.0,
        "release_speed": 90.97845935651245,
        "release_spin_rate": 2292.19753528252,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 106,
          "pitch_usage": 0.0,
          "release_speed": 90.97845935651245,
          "release_spin_rate": 2292.19753528252,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 90.9785,
        "release_spin_rate": 2292.1975,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0624,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.4457,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.2212,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9812,
    "strikeout_factor": 1.1069,
    "walk_factor": 0.98,
    "homer_factor": 1.1158,
    "woba_minus_xwoba": -0.008,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "668909",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "680732",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 644.0,
      "k_percent": 25.8,
      "bb_percent": 8.7,
      "woba": 0.302,
      "xwoba": 0.3,
      "sweet_spot_percent": 35.3,
      "barrel_batted_rate": 8.3,
      "hard_hit_percent": 38.8,
      "avg_best_speed": 79.3949,
      "avg_hyper_speed": 93.9697,
      "whiff_percent": 25.5,
      "swing_percent": 49.1
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.0779,
      "command_and_miss": 0.2779,
      "regression_edge": 0.0571,
      "xwoba_edge": 0.3429,
      "barrel_edge": -0.2444,
      "hard_hit_edge": -0.1286,
      "whiff_edge": 0.0429,
      "bb_edge": 0.125,
      "pitch_design_score": -0.0129
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "680732",
      "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": 89.63367275202977,
        "release_spin_rate": 2515.4651388536104,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "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": 89.63367275202977,
          "release_spin_rate": 2515.4651388536104,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "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.6337,
        "release_spin_rate": 2515.4651,
        "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.0129,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.0922,
        "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.1206,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9898,
    "strikeout_factor": 1.0229,
    "walk_factor": 0.99,
    "homer_factor": 1.0144,
    "woba_minus_xwoba": 0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "680732",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9916,
    "home_runs_vs_away_pitcher": 0.9953,
    "home_pitcher_starter_only_factor": 0.9812,
    "away_pitcher_starter_only_factor": 0.9898,
    "home_pitcher_workload_share": 0.5926,
    "away_pitcher_workload_share": 0.5556,
    "home_pitcher_quality_edge": 0.0641
  },
  "score_before": {
    "away_runs": 4.6314,
    "home_runs": 5.423
  },
  "score_after": {
    "away_runs": 4.5924,
    "home_runs": 5.3975,
    "home_win_probability": 0.5696
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

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

Season Run Differential

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

Recent Head-to-Head

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

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CHW--5----
Game target CLE--6----
Player finalized CHW336515418
Player finalized CLE34862548
Player model fractional CHW30.346.414.691.184.223.6411.41
Player model fractional CLE32.907.474.060.974.043.426.80
Simulation box CHW336515418
Simulation box CLE34862548

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 CHWStarterSean Burke4.1055733.381.19True
Away CHWLong RelieverSean Newcomb1.1001104.181.24True
Away CHWLong RelieverNoah Schultz202015.891.45True
Away CHWMiddle RelieverJordan Hicks0.1000005.081.49True
Home CLEStarterGavin Williams4.20110243.891.31True
Home CLEMiddle RelieverTim Herrin0.2001003.031.49True
Home CLEMiddle RelieverShawn Armstrong102002.740.90True
Home CLEMiddle Reliever (High Leverage)Daniel Espino102005.221.51True
Home CLEMiddle Reliever (High Leverage)Hunter Gaddis112103.931.42True
Home CLESetup ManTanner Bibee0.2031306.111.48True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeCLEpitcherStarterGavin Williamsbetter62442predicted_H-7.0000deboostbetter
awayCHWpitcherStarterSean Burkeworse65115predicted_BB3.0000boostworse
homeCLEpitcherSetup ManTanner Bibeeworse54123predicted_ER3.0000boostworse
awayCHWbatterCFBrenton Doyleworse115647predicted_SO2.0260boostworse
awayCHWpitcherLong RelieverSean Newcombbetter40431predicted_ER-2.0000deboostbetter
awayCHWpitcherLong RelieverNoah Schultzbetter53241predicted_H-2.0000deboostbetter
awayCHWpitcherMiddle RelieverJordan Hicksworse30312predicted_SO-2.0000deboostworse
homeCLEpitcherMiddle Reliever (High Leverage)Daniel Espinobetter21120predicted_SO2.0000boostbetter
homeCLEbatterRFChase DeLauterworse103746predicted_AB-1.7200deboostworse
awayCHWbatterCKyle Teelworse12210111predicted_SO1.5910boostworse
awayCHWbatterSSColson Montgomeryworse126657predicted_RBI1.5800boostbetter
awayCHWbatterLFSam Antonacciworse1239210predicted_AB1.5790boostbetter
homeCLEbatter1BNathaniel Loweworse116556predicted_RBI1.5400boostbetter
awayCHWbatter2BChase Meidrothworse115647predicted_RBI1.5000boostbetter
awayCHWbatter1BMunetaka Murakamiworse114738predicted_SO1.4360boostworse
homeCLEbatterCFPetey Halpinworse104637predicted_AB1.3080boostbetter
awayCHWbatterDHAndrew Benintendiworse113829predicted_SO1.2000boostworse
awayCHWbatterRFTristan Petersworse115647predicted_AB1.0260boostbetter
homeCLEpitcherMiddle RelieverTim Herrinbetter31221predicted_ER-1.0000deboostbetter
homeCLEpitcherMiddle RelieverShawn Armstrongbetter11010predicted_SO1.0000boostbetter
homeCLEpitcherMiddle Reliever (High Leverage)Hunter Gaddisboosted43122predicted_BB-1.0000deboostbetter
homeCLEbatterDHJo Adellboosted127566predicted_SO0.9880boostworse
awayCHWbatter3BMiguel Vargasworse113829predicted_H-0.8700deboostworse
homeCLEbatter3BJosé Ramírezworse104637predicted_HR0.8100boostbetter
homeCLEbatter2BTravis Bazzanaworse92718predicted_H-0.7900deboostworse
homeCLEbatterCPatrick Baileyworse104637predicted_BB0.7450boostbetter
homeCLEbatterLFSteven Kwanworse103746predicted_H0.7400boostbetter
homeCLEbatterSSBrayan Rocchioworse113847predicted_R0.5750boostbetter

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

Away Team: CHW

Away Pitcher Deep Analysis

FieldValue
PitcherSean Burke
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1206
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0129
Avg Velo89.6337
Avg Spin2515.4651
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.1000
Pre ER5
Pre H7
Pre BB3
Pre SO5
Season ERA3.3688
Season WHIP1.1670
Role Avg IP5.2260
Recent Avg IP4.4670
Last Start IP4
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.0673,
    "defense_index": 1.0098,
    "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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "opponent_offense_edge": -0.0675,
    "defense_strength": 0.0098,
    "opponent_defense_weakness": -0.0901,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9885,
    "strikeout": 1.0052
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "680732",
    "profile": {
      "available": true,
      "pitcher_id": "680732",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 644.0,
        "k_percent": 25.8,
        "bb_percent": 8.7,
        "woba": 0.302,
        "xwoba": 0.3,
        "sweet_spot_percent": 35.3,
        "barrel_batted_rate": 8.3,
        "hard_hit_percent": 38.8,
        "avg_best_speed": 79.3949,
        "avg_hyper_speed": 93.9697,
        "whiff_percent": 25.5,
        "swing_percent": 49.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0779,
        "command_and_miss": 0.2779,
        "regression_edge": 0.0571,
        "xwoba_edge": 0.3429,
        "barrel_edge": -0.2444,
        "hard_hit_edge": -0.1286,
        "whiff_edge": 0.0429,
        "bb_edge": 0.125,
        "pitch_design_score": -0.0129
      },
      "quality_score": 0.1206,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9898,
      "strikeout_factor": 1.0229,
      "walk_factor": 0.99,
      "homer_factor": 1.0144,
      "woba_minus_xwoba": 0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "680732",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9898,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9898,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.99,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0144,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0229,
        "adjusted": 6
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 46.0,
    "ER": 23,
    "H": 41,
    "BB": 24,
    "SO": 47,
    "HR": 7,
    "ERA": 4.5,
    "WHIP": 1.4130434782608696,
    "K9": 9.195652173913043,
    "HR9": 1.3695652173913044,
    "games_pitched": 10,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "680732",
  "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": 89.63367275202977,
    "release_spin_rate": 2515.4651388536104,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "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": 89.63367275202977,
      "release_spin_rate": 2515.4651388536104,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "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.6337,
    "release_spin_rate": 2515.4651,
    "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.0129,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.0922,
    "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": "680732",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 34,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 25.2,
        "ER": 6.0,
        "R": 7.0,
        "H": 18.0,
        "BB": 7.0,
        "SO": 30.0,
        "HR": 4.0,
        "BF": 101.0,
        "Pitches": 435.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.2,
        "R": 1.4,
        "H": 3.6,
        "BB": 1.4,
        "SO": 6.0,
        "HR": 0.8,
        "BF": 20.2,
        "Pitches": 87.0
      },
      "rates": {
        "ERA": 2.1039,
        "WHIP": 0.974,
        "ER_per_IP": 0.23377,
        "H_per_IP": 0.7013,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 1.16883,
        "HR_per_IP": 0.15584
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 46.0,
        "ER": 23.0,
        "R": 24.0,
        "H": 41.0,
        "BB": 24.0,
        "SO": 47.0,
        "HR": 7.0,
        "BF": 200.0,
        "Pitches": 849.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.3,
        "R": 2.4,
        "H": 4.1,
        "BB": 2.4,
        "SO": 4.7,
        "HR": 0.7,
        "BF": 20.0,
        "Pitches": 84.9
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.413,
        "ER_per_IP": 0.5,
        "H_per_IP": 0.8913,
        "BB_per_IP": 0.52174,
        "SO_per_IP": 1.02174,
        "HR_per_IP": 0.15217
      }
    },
    "season": {
      "games": 34,
      "totals": {
        "IP": 181.2,
        "ER": 68.0,
        "R": 71.0,
        "H": 149.0,
        "BB": 63.0,
        "SO": 199.0,
        "HR": 22.0,
        "BF": 750.0,
        "Pitches": 3033.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 2.0882,
        "H": 4.3824,
        "BB": 1.8529,
        "SO": 5.8529,
        "HR": 0.6471,
        "BF": 22.0588,
        "Pitches": 89.2059
      },
      "rates": {
        "ERA": 3.3688,
        "WHIP": 1.167,
        "ER_per_IP": 0.37431,
        "H_per_IP": 0.82018,
        "BB_per_IP": 0.34679,
        "SO_per_IP": 1.09541,
        "HR_per_IP": 0.1211
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 1.861,
    "predicted_H": 4.047,
    "predicted_BB": 1.862,
    "predicted_SO": 5.358,
    "predicted_HR": 0.732,
    "predicted_ERA": 3.3797,
    "predicted_WHIP": 1.1921
  }
}
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": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 1.861,
      "final": 2.3213,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 4.047,
      "final": 4.4322,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.862,
      "final": 1.1094,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 5.358,
      "final": 4.405,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.732,
      "final": 0.8403,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.3797,
      "final": 3.3797,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1921,
      "final": 1.1921,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherSean Newcomb
RoleLong Reliever
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 IP1.1000
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA2.9893
Season WHIP1.1250
Role Avg IP1.5310
Recent Avg IP1.4670
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.0673,
    "defense_index": 1.0098,
    "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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "opponent_offense_edge": -0.0675,
    "defense_strength": 0.0098,
    "opponent_defense_weakness": -0.0901,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "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": 0.0,
        "factor": 1.0044,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0044,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.998,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9958,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9954,
        "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.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.298,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7942,
    "prior_weight": 0.2058
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656794",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.333,
  "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": 1.1,
    "predicted_ER": 0.644,
    "predicted_H": 1.251,
    "predicted_BB": 0.466,
    "predicted_SO": 1.484,
    "predicted_HR": 0.177,
    "predicted_ERA": 4.1816,
    "predicted_WHIP": 1.2391
  }
}
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.7942,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 19.298,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7942,
    "prior_weight": 0.2058
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.644,
      "final": 1.2365,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.251,
      "final": 1.5783,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.466,
      "final": 0.2624,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.484,
      "final": 1.2725,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.177,
      "final": 0.5366,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.1816,
      "final": 4.1816,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2391,
      "final": 1.2391,
      "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
PitcherNoah Schultz
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.6085
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0528
Avg Velo90.8063
Avg Spin2521.1587
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA5.8154
Season WHIP1.3846
Role Avg IP5
Recent Avg IP5
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.0673,
    "defense_index": 1.0098,
    "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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "opponent_offense_edge": -0.0675,
    "defense_strength": 0.0098,
    "opponent_defense_weakness": -0.0901,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9885,
    "strikeout": 1.0052
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "702273",
    "profile": {
      "available": true,
      "pitcher_id": "702273",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 263.0,
        "k_percent": 20.7,
        "bb_percent": 9.6,
        "woba": 0.335,
        "xwoba": 0.358,
        "sweet_spot_percent": 38.7,
        "barrel_batted_rate": 9.7,
        "hard_hit_percent": 41.9,
        "avg_best_speed": 78.2229,
        "avg_hyper_speed": 94.4485,
        "whiff_percent": 21.0,
        "swing_percent": 45.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": -0.8283,
        "command_and_miss": -0.32,
        "regression_edge": -0.6571,
        "xwoba_edge": -1.3143,
        "barrel_edge": -0.5556,
        "hard_hit_edge": -0.5714,
        "whiff_edge": -0.6,
        "bb_edge": -0.1,
        "pitch_design_score": 0.0528
      },
      "quality_score": -0.6085,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0517,
      "strikeout_factor": 0.968,
      "walk_factor": 1.008,
      "homer_factor": 1.1067,
      "woba_minus_xwoba": -0.023,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "702273",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0517,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0517,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.008,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.1067,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.968,
        "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": 43.2,
    "ER": 36,
    "H": 49,
    "BB": 19,
    "SO": 38,
    "HR": 8,
    "ERA": 7.419847328244275,
    "WHIP": 1.5572519083969467,
    "K9": 7.8320610687022905,
    "HR9": 1.6488549618320612,
    "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-01T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "702273",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 81,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 81,
    "pitch_usage": 0.0,
    "release_speed": 90.80632794358091,
    "release_spin_rate": 2521.158682018695,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "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": 81,
      "pitch_usage": 0.0,
      "release_speed": 90.80632794358091,
      "release_spin_rate": 2521.158682018695,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "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.8063,
    "release_spin_rate": 2521.1587,
    "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.0528,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3769,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7368,
    "prior_weight": 0.2632
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "702273",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 14,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 22.0,
        "ER": 14.0,
        "R": 14.0,
        "H": 27.0,
        "BB": 5.0,
        "SO": 18.0,
        "HR": 4.0,
        "BF": 100.0,
        "Pitches": 385.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.8,
        "R": 2.8,
        "H": 5.4,
        "BB": 1.0,
        "SO": 3.6,
        "HR": 0.8,
        "BF": 20.0,
        "Pitches": 77.0
      },
      "rates": {
        "ERA": 5.7273,
        "WHIP": 1.4545,
        "ER_per_IP": 0.63636,
        "H_per_IP": 1.22727,
        "BB_per_IP": 0.22727,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.18182
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 43.2,
        "ER": 36.0,
        "R": 36.0,
        "H": 49.0,
        "BB": 19.0,
        "SO": 38.0,
        "HR": 8.0,
        "BF": 201.0,
        "Pitches": 788.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 3.6,
        "R": 3.6,
        "H": 4.9,
        "BB": 1.9,
        "SO": 3.8,
        "HR": 0.8,
        "BF": 20.1,
        "Pitches": 78.8
      },
      "rates": {
        "ERA": 7.4198,
        "WHIP": 1.5573,
        "ER_per_IP": 0.82443,
        "H_per_IP": 1.12214,
        "BB_per_IP": 0.43511,
        "SO_per_IP": 0.87023,
        "HR_per_IP": 0.18321
      }
    },
    "season": {
      "games": 14,
      "totals": {
        "IP": 65.0,
        "ER": 42.0,
        "R": 43.0,
        "H": 59.0,
        "BB": 31.0,
        "SO": 58.0,
        "HR": 9.0,
        "BF": 286.0,
        "Pitches": 1124.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.0714,
        "H": 4.2143,
        "BB": 2.2143,
        "SO": 4.1429,
        "HR": 0.6429,
        "BF": 20.4286,
        "Pitches": 80.2857
      },
      "rates": {
        "ERA": 5.8154,
        "WHIP": 1.3846,
        "ER_per_IP": 0.64615,
        "H_per_IP": 0.90769,
        "BB_per_IP": 0.47692,
        "SO_per_IP": 0.89231,
        "HR_per_IP": 0.13846
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.1,
    "predicted_ER": 2.179,
    "predicted_H": 3.628,
    "predicted_BB": 1.193,
    "predicted_SO": 2.906,
    "predicted_HR": 0.555,
    "predicted_ERA": 5.8885,
    "predicted_WHIP": 1.4479
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4612,
  "form_weight": 0.5388,
  "form_reliability": 0.7368,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7368,
    "prior_weight": 0.2632
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 3.1,
      "final": 2.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 2.179,
      "final": 1.6352,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 3.628,
      "final": 2.8772,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.193,
      "final": 0.6428,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 2.906,
      "final": 2.0269,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.555,
      "final": 0.299,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.8885,
      "final": 5.8885,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4479,
      "final": 1.4479,
      "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
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 IP0.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
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.0673,
    "defense_index": 1.0098,
    "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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "opponent_offense_edge": -0.0675,
    "defense_strength": 0.0098,
    "opponent_defense_weakness": -0.0901,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "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.271,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6232,
    "prior_weight": 0.3768
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663855",
  "report_date": "20261010",
  "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.618,
    "predicted_H": 1.142,
    "predicted_BB": 0.491,
    "predicted_SO": 1.345,
    "predicted_HR": 0.17,
    "predicted_ERA": 5.0826,
    "predicted_WHIP": 1.4938
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5092,
  "form_weight": 0.4908,
  "form_reliability": 0.6232,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.271,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6232,
    "prior_weight": 0.3768
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.618,
      "final": 0.3033,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.142,
      "final": 1.0697,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.491,
      "final": 0.241,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.345,
      "final": 1.6785,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.17,
      "final": 0.0834,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0826,
      "final": 5.0826,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4938,
      "final": 1.4938,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Sam Antonacci (803011) · BATTER · LF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 536
All-history rows before 20261010: 536
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2716
Diff (system - data): 0.0044
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.1790.0000.000Hitting_2B0.1870.000-0.1870.000
predicted_3B0.0280.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.4215.0005.000Hitting_AB3.6272.0001.3733.000
predicted_AVG0.2760.2000.200Hitting_AVG0.2720.500-0.072-0.300
predicted_BB0.3100.0000.000Hitting_BB0.3620.000-0.3620.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H0.9451.0001.000Hitting_H0.9851.0000.0150.000
predicted_HR0.0550.0000.000Hitting_HR0.0650.000-0.0650.000
predicted_OBP0.3360.2000.200Hitting_OBP0.3740.500-0.174-0.300
predicted_R0.5790.0000.000Hitting_R0.6290.000-0.6290.000
predicted_RBI0.3660.0000.000Hitting_RBI0.3902.000-0.390-2.000
predicted_SLG0.3930.2000.200Hitting_SLG0.3960.500-0.196-0.300
predicted_SO0.5861.0001.000Hitting_SO0.6400.0000.3601.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_AB: 3.4210 -> 5.0000 (boost 1.5790, better)
Biggest Deboostpredicted_R: 0.5790 -> 0.0000 (deboost -0.5790, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_OBP: 0.3360 -> 0.3614 (boost 0.0254, better)predicted_AB: 3.4210 -> 3.3430 (deboost -0.0780, worse)Final model input calibrated 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.3382 (deboost -0.0232, 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.3430 -> 4.0000 (boost 0.6570, better)predicted_RBI: 0.4030 -> 0.0000 (deboost -0.4030, worse)AB rounded to 4 (raw=3.42), rates preserved: AVG=0.256 HR/AB=0.014
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
7consistency_constraints11010predicted_R: 0.5694 -> 1.0000 (boost 0.4306, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3606 (boost 0.3606, better)predicted_SO: 1.0000 -> 0.8344 (deboost -0.1656, 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_BB: 0.3572 -> 1.0000 (boost 0.6428, better)predicted_RBI: 0.3606 -> 0.0000 (deboost -0.3606, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization31212predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final22020predicted_OBP: 0.2970 -> 0.3080 (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": "803011",
  "player_name": "Sam Antonacci",
  "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.179,
        "predicted_3B": 0.028,
        "predicted_AB": 3.421,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.31,
        "predicted_H": 0.945,
        "predicted_HR": 0.055,
        "predicted_OBP": 0.336,
        "predicted_R": 0.579,
        "predicted_RBI": 0.366,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.586
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1838,
        "predicted_3B": 0.0228,
        "predicted_AB": 3.343,
        "predicted_AVG": 0.2799,
        "predicted_BB": 0.2987,
        "predicted_H": 0.9359,
        "predicted_HBP": 0.363,
        "predicted_HR": 0.0463,
        "predicted_OBP": 0.3614,
        "predicted_R": 0.5725,
        "predicted_RBI": 0.4052,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.5799
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.421,
          "after": 3.343,
          "delta": -0.078,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "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
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "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": {
          "metric": "predicted_AB",
          "before": 3.421,
          "after": 3.343,
          "delta": -0.078,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 145
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1838,
        "predicted_3B": 0.0228,
        "predicted_AB": 3.343,
        "predicted_AVG": 0.2789,
        "predicted_BB": 0.2994,
        "predicted_H": 0.9324,
        "predicted_HBP": 0.363,
        "predicted_HR": 0.0462,
        "predicted_OBP": 0.3382,
        "predicted_R": 0.5694,
        "predicted_RBI": 0.403,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.5785
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3614,
          "after": 0.3382,
          "delta": -0.0232,
          "percent_delta": -0.0642,
          "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.3382,
          "delta": -0.0232,
          "percent_delta": -0.0642,
          "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.42), rates preserved: AVG=0.256 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.1838,
          "after": 0.0,
          "delta": -0.1838,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.343,
          "after": 4.0,
          "delta": 0.657,
          "percent_delta": 0.1965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2994,
          "after": 0.0,
          "delta": -0.2994,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9324,
          "after": 1.0,
          "delta": 0.0676,
          "percent_delta": 0.0725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.363,
          "after": 0.0,
          "delta": -0.363,
          "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_SO",
          "before": 0.5785,
          "after": 1.0,
          "delta": 0.4215,
          "percent_delta": 0.7286,
          "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.343,
          "after": 4.0,
          "delta": 0.657,
          "percent_delta": 0.1965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.403,
          "after": 0.0,
          "delta": -0.403,
          "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": 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.5694,
          "after": 1.0,
          "delta": 0.4306,
          "percent_delta": 0.7562,
          "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.5694,
          "after": 1.0,
          "delta": 0.4306,
          "percent_delta": 0.7562,
          "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.1731,
        "predicted_3B": 0.0157,
        "predicted_BB": 0.3572,
        "predicted_H": 0.8543,
        "predicted_HR": 0.0674,
        "predicted_RBI": 0.3606,
        "predicted_SO": 0.8344
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1731,
          "delta": 0.1731,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3572,
          "delta": 0.3572,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8543,
          "delta": -0.1457,
          "percent_delta": -0.1457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0674,
          "delta": 0.0674,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3606,
          "delta": 0.3606,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8344,
          "delta": -0.1656,
          "percent_delta": -0.1656,
          "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.3606,
          "delta": 0.3606,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8344,
          "delta": -0.1656,
          "percent_delta": -0.1656,
          "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.224,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.331,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1731,
          "after": 0.0,
          "delta": -0.1731,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2789,
          "after": 0.224,
          "delta": -0.0549,
          "percent_delta": -0.1968,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3572,
          "after": 1.0,
          "delta": 0.6428,
          "percent_delta": 1.7996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8543,
          "after": 1.0,
          "delta": 0.1457,
          "percent_delta": 0.1705,
          "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_OBP",
          "before": 0.3382,
          "after": 0.297,
          "delta": -0.0412,
          "percent_delta": -0.1218,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3606,
          "after": 0.0,
          "delta": -0.3606,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.331,
          "delta": -0.058,
          "percent_delta": -0.1491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8344,
          "after": 1.0,
          "delta": 0.1656,
          "percent_delta": 0.1985,
          "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_BB",
          "before": 0.3572,
          "after": 1.0,
          "delta": 0.6428,
          "percent_delta": 1.7996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3606,
          "after": 0.0,
          "delta": -0.3606,
          "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.224,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.331,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 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": 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": 5.0,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.338,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.308,
          "delta": 0.011,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.331,
          "after": 0.338,
          "delta": 0.007,
          "percent_delta": 0.0211,
          "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.297,
          "after": 0.308,
          "delta": 0.011,
          "percent_delta": 0.037,
          "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.179,
        "after": 0.0,
        "delta": -0.179,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.421,
        "after": 5.0,
        "delta": 1.579,
        "percent_delta": 0.4616,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.226,
        "delta": -0.05,
        "percent_delta": -0.1812,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.945,
        "after": 1.0,
        "delta": 0.055,
        "percent_delta": 0.0582,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.363,
        "after": 0.0,
        "delta": -0.363,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.055,
        "after": 0.0,
        "delta": -0.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.336,
        "after": 0.308,
        "delta": -0.028,
        "percent_delta": -0.0833,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.579,
        "after": 0.0,
        "delta": -0.579,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.366,
        "after": 0.0,
        "delta": -0.366,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.393,
        "after": 0.338,
        "delta": -0.055,
        "percent_delta": -0.1399,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.586,
        "after": 1.0,
        "delta": 0.414,
        "percent_delta": 0.7065,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.421,
        "after": 5.0,
        "delta": 1.579,
        "percent_delta": 0.4616,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.579,
        "after": 0.0,
        "delta": -0.579,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.179-
predicted_3B0.028-
predicted_AB3.421-
predicted_AVG0.276-
predicted_BB0.310-
predicted_H0.945-
predicted_HR0.055-
predicted_OBP0.336-
predicted_R0.579-
predicted_RBI0.366-
predicted_SLG0.393-
predicted_SO0.586-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1840.005
predicted_3B0.023-0.005
predicted_AB3.343-0.078
predicted_AVG0.2800.004
predicted_BB0.299-0.011
predicted_H0.936-0.009
predicted_HBP0.363-
predicted_HR0.046-0.009
predicted_OBP0.3610.025
predicted_R0.573-0.006
predicted_RBI0.4050.039
predicted_SLG0.390-0.003
predicted_SO0.580-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.1840.000
predicted_3B0.0230.000
predicted_AB3.3430.000
predicted_AVG0.279-0.001
predicted_BB0.2990.001
predicted_H0.932-0.003
predicted_HBP0.3630.000
predicted_HR0.046-0.000
predicted_OBP0.338-0.023
predicted_R0.569-0.003
predicted_RBI0.403-0.002
predicted_SLG0.389-0.001
predicted_SO0.579-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.42), rates preserved: AVG=0.256 HR/AB=0.014

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1730.173
3B0.0160.016
BB0.3570.357
H0.854-0.146
HR0.0670.067
RBI0.3610.361
SO0.834-0.166
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.173
3B0.000-0.016
AB4.0000.000
AVG0.224-
BB1.0000.643
H1.0000.146
HR0.000-0.067
OBP0.297-
R1.0000.000
RBI0.000-0.361
SLG0.331-
SO1.0000.166
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.184
predicted_3B0.000-0.023
predicted_AB4.0000.657
predicted_AVG0.224-0.055
predicted_BB1.0000.701
predicted_H1.0000.068
predicted_HR0.000-0.046
predicted_OBP0.297-0.041
predicted_R1.0000.431
predicted_RBI0.000-0.403
predicted_SLG0.331-0.058
predicted_SO1.0000.421
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.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
AB5.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 145
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.0003.0002.0001.0003.0000.23080.38890.30770.23080.00000.23080.07690.2308
last_100.2010-32.00012.0002.0000.0000.0005.0007.0003.0004.0000.37500.48780.43750.37500.00000.15620.09380.1250
season0.60145-496.000137.00026.0004.0008.00053.00084.00045.00085.0000.27620.37260.39310.27620.01610.10690.09070.1714
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1900
predicted_3B0.0160
predicted_AB3.2420
predicted_AVG0.2850
predicted_BB0.2840
predicted_H0.9240
predicted_HBP0.3630
predicted_HR0.0350
predicted_OBP0.3943
predicted_R0.5640
predicted_RBI0.4560
predicted_SLG0.3860
predicted_SO0.5720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.19000.1838model_form_blend
predicted_3B0.02800.01600.0228model_form_blend
predicted_AB3.42103.24203.3430model_form_blend
predicted_AVG0.27600.28500.2799model_form_blend
predicted_BB0.31000.28400.2987model_form_blend
predicted_H0.94500.92400.9359model_form_blend
predicted_HBP-0.36300.3630form_only
predicted_HR0.05500.03500.0463model_form_blend
predicted_OBP0.33600.39430.3614model_form_blend
predicted_R0.57900.56400.5725model_form_blend
predicted_RBI0.36600.45600.4052model_form_blend
predicted_SLG0.39300.38600.3900model_form_blend
predicted_SO0.58600.57200.5799model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF1
Hitting_SO0
Hitting_TB1
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
gameID20261008_CLE@CHW
game_typeph
mlbID803011
noteHit a sacrifice fly for Pham in the 3rd.
playerID803011
playerNameSam Antonacci
posSS
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-08
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
Kyle Teel (691019) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 121
All-history rows before 20261010: 121
System season_avg: 0.2080
Data season_avg (2026 season-to-date): 0.2056
Diff (system - data): 0.0024
System opponent_avg: 0.0210

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0910.0000.000Hitting_2B0.1320.000-0.1320.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7603.0003.000Hitting_AB3.5374.000-0.537-1.000
predicted_AVG0.2150.0000.000Hitting_AVG0.2060.000-0.2060.000
predicted_BB0.4321.0001.000Hitting_BB0.5541.0000.4460.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8100.0000.000Hitting_H0.7270.000-0.7270.000
predicted_HR0.1300.0000.000Hitting_HR0.1650.000-0.1650.000
predicted_OBP0.3230.2500.250Hitting_OBP0.3230.200-0.0730.050
predicted_R0.5230.0000.000Hitting_R0.5950.000-0.5950.000
predicted_RBI0.6000.0000.000Hitting_RBI0.8510.000-0.8510.000
predicted_SLG0.3720.0000.000Hitting_SLG0.3830.000-0.3830.000
predicted_SO1.4093.0003.000Hitting_SO1.5452.0001.4551.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics2
Deboosted Metrics10
Better Metrics1
Worse Metrics11
Biggest Boostpredicted_SO: 1.4090 -> 3.0000 (boost 1.5910, worse)
Biggest Deboostpredicted_H: 0.8100 -> 0.0000 (deboost -0.8100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.2150 -> 0.2203 (boost 0.0053, better)predicted_AB: 3.7600 -> 3.6744 (deboost -0.0856, worse)Final model input calibrated 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.3213 -> 0.2997 (deboost -0.0216, 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.4314 -> 2.0000 (boost 0.5686, worse)predicted_BB: 0.4204 -> 0.0000 (deboost -0.4204, worse)AB rounded to 4 (raw=3.76), rates preserved: AVG=0.202 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.5431 -> 1.0000 (boost 0.4569, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.4404 (boost 0.4404, better)predicted_RBI: 1.0000 -> 0.4879 (deboost -0.5121, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation94536predicted_BB: 0.4404 -> 1.0000 (boost 0.5596, better)predicted_2B: 0.1525 -> 0.0000 (deboost -0.1525, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization51405predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse)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_final21111predicted_OBP: 0.2940 -> 0.2990 (boost 0.0050, better)predicted_AVG: 0.2030 -> 0.1980 (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": "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.091,
        "predicted_3B": 0.0,
        "predicted_AB": 3.76,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.432,
        "predicted_H": 0.81,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.323,
        "predicted_R": 0.523,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.372,
        "predicted_SO": 1.409
      },
      "changed_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.1036,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.6744,
        "predicted_AVG": 0.2203,
        "predicted_BB": 0.4194,
        "predicted_H": 0.8096,
        "predicted_HBP": 0.087,
        "predicted_HR": 0.117,
        "predicted_OBP": 0.3213,
        "predicted_R": 0.5461,
        "predicted_RBI": 0.5972,
        "predicted_SLG": 0.3615,
        "predicted_SO": 1.435
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.76,
          "after": 3.6744,
          "delta": -0.0856,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.2203,
          "delta": 0.0053,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.3615,
          "delta": -0.0105,
          "percent_delta": -0.0282,
          "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.215,
          "after": 0.2203,
          "delta": 0.0053,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.76,
          "after": 3.6744,
          "delta": -0.0856,
          "percent_delta": -0.0228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1036,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.6744,
        "predicted_AVG": 0.2195,
        "predicted_BB": 0.4204,
        "predicted_H": 0.8066,
        "predicted_HBP": 0.087,
        "predicted_HR": 0.1169,
        "predicted_OBP": 0.2997,
        "predicted_R": 0.5431,
        "predicted_RBI": 0.5939,
        "predicted_SLG": 0.3436,
        "predicted_SO": 1.4314
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3213,
          "after": 0.2997,
          "delta": -0.0216,
          "percent_delta": -0.0672,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3615,
          "after": 0.3436,
          "delta": -0.0179,
          "percent_delta": -0.0495,
          "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.3213,
          "after": 0.2997,
          "delta": -0.0216,
          "percent_delta": -0.0672,
          "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.76), rates preserved: AVG=0.202 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1036,
          "after": 0.0,
          "delta": -0.1036,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6744,
          "after": 4.0,
          "delta": 0.3256,
          "percent_delta": 0.0886,
          "direction": "boost",
          "projection_effect": "better",
          "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_H",
          "before": 0.8066,
          "after": 1.0,
          "delta": 0.1934,
          "percent_delta": 0.2398,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.087,
          "after": 0.0,
          "delta": -0.087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1169,
          "after": 0.0,
          "delta": -0.1169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5939,
          "after": 1.0,
          "delta": 0.4061,
          "percent_delta": 0.6838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4314,
          "after": 2.0,
          "delta": 0.5686,
          "percent_delta": 0.3972,
          "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.4314,
          "after": 2.0,
          "delta": 0.5686,
          "percent_delta": 0.3972,
          "direction": "boost",
          "projection_effect": "worse",
          "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": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5431,
          "after": 1.0,
          "delta": 0.4569,
          "percent_delta": 0.8413,
          "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.5431,
          "after": 1.0,
          "delta": 0.4569,
          "percent_delta": 0.8413,
          "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.1525,
        "predicted_3B": 0.0096,
        "predicted_BB": 0.4404,
        "predicted_H": 0.7421,
        "predicted_HR": 0.104,
        "predicted_RBI": 0.4879,
        "predicted_SO": 1.8128
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1525,
          "delta": 0.1525,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4404,
          "delta": 0.4404,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7421,
          "delta": -0.2579,
          "percent_delta": -0.2579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.104,
          "delta": 0.104,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4879,
          "delta": -0.5121,
          "percent_delta": -0.5121,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.8128,
          "delta": -0.1872,
          "percent_delta": -0.0936,
          "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.4404,
          "delta": 0.4404,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4879,
          "delta": -0.5121,
          "percent_delta": -0.5121,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.203,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.335,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1525,
          "after": 0.0,
          "delta": -0.1525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2195,
          "after": 0.203,
          "delta": -0.0165,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4404,
          "after": 1.0,
          "delta": 0.5596,
          "percent_delta": 1.2707,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7421,
          "after": 1.0,
          "delta": 0.2579,
          "percent_delta": 0.3475,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.104,
          "after": 0.0,
          "delta": -0.104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2997,
          "after": 0.294,
          "delta": -0.0057,
          "percent_delta": -0.019,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4879,
          "after": 1.0,
          "delta": 0.5121,
          "percent_delta": 1.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3436,
          "after": 0.335,
          "delta": -0.0086,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8128,
          "after": 2.0,
          "delta": 0.1872,
          "percent_delta": 0.1033,
          "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.4404,
          "after": 1.0,
          "delta": 0.5596,
          "percent_delta": 1.2707,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1525,
          "after": 0.0,
          "delta": -0.1525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.203,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.335,
        "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 blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 3.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_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": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 3.0,
        "predicted_AVG": 0.198,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.334,
        "predicted_SO": 3.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.198,
          "delta": -0.005,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.299,
          "delta": 0.005,
          "percent_delta": 0.017,
          "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_OBP",
          "before": 0.294,
          "after": 0.299,
          "delta": 0.005,
          "percent_delta": 0.017,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.198,
          "delta": -0.005,
          "percent_delta": -0.0246,
          "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.091,
        "after": 0.0,
        "delta": -0.091,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.76,
        "after": 3.0,
        "delta": -0.76,
        "percent_delta": -0.2021,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.215,
        "after": 0.198,
        "delta": -0.017,
        "percent_delta": -0.0791,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.432,
        "after": 1.0,
        "delta": 0.568,
        "percent_delta": 1.3148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.81,
        "after": 0.0,
        "delta": -0.81,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.087,
        "after": 0.0,
        "delta": -0.087,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.323,
        "after": 0.299,
        "delta": -0.024,
        "percent_delta": -0.0743,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.523,
        "after": 0.0,
        "delta": -0.523,
        "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.372,
        "after": 0.334,
        "delta": -0.038,
        "percent_delta": -0.1022,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.409,
        "after": 3.0,
        "delta": 1.591,
        "percent_delta": 1.1292,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 2,
      "deboosted_metrics": 10,
      "better_metrics": 1,
      "worse_metrics": 11,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.409,
        "after": 3.0,
        "delta": 1.591,
        "percent_delta": 1.1292,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.81,
        "after": 0.0,
        "delta": -0.81,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.091-
predicted_3B0.000-
predicted_AB3.760-
predicted_AVG0.215-
predicted_BB0.432-
predicted_H0.810-
predicted_HR0.130-
predicted_OBP0.323-
predicted_R0.523-
predicted_RBI0.600-
predicted_SLG0.372-
predicted_SO1.409-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1040.013
predicted_3B0.0010.001
predicted_AB3.674-0.086
predicted_AVG0.2200.005
predicted_BB0.419-0.013
predicted_H0.810-0.000
predicted_HBP0.087-
predicted_HR0.117-0.013
predicted_OBP0.321-0.002
predicted_R0.5460.023
predicted_RBI0.597-0.003
predicted_SLG0.361-0.011
predicted_SO1.4350.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.1040.000
predicted_3B0.0010.000
predicted_AB3.6740.000
predicted_AVG0.220-0.001
predicted_BB0.4200.001
predicted_H0.807-0.003
predicted_HBP0.0870.000
predicted_HR0.117-0.000
predicted_OBP0.300-0.022
predicted_R0.543-0.003
predicted_RBI0.594-0.003
predicted_SLG0.344-0.018
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 4 (raw=3.76), rates preserved: AVG=0.202 HR/AB=0.031

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1520.152
3B0.0100.010
BB0.4400.440
H0.742-0.258
HR0.1040.104
RBI0.488-0.512
SO1.813-0.187
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.010
AB4.0000.000
AVG0.203-
BB1.0000.560
H1.0000.258
HR0.000-0.104
OBP0.294-
R1.0000.000
RBI1.0000.512
SLG0.335-
SO2.0000.187
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.104
predicted_3B0.000-0.001
predicted_AB4.0000.326
predicted_AVG0.203-0.016
predicted_BB1.0000.580
predicted_H1.0000.193
predicted_HR0.000-0.117
predicted_OBP0.294-0.006
predicted_R1.0000.457
predicted_RBI1.0000.406
predicted_SLG0.335-0.009
predicted_SO2.0000.569
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.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
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
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
SO3.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 44
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0004.0001.0000.0000.0002.0003.0002.00011.0000.20000.27270.25000.20000.00000.10000.10000.5500
last_100.2010-37.00011.0001.0000.0001.0007.0008.0004.00015.0000.29730.38640.40540.29730.02700.18920.10810.4054
season0.6044-144.00030.0004.0000.0005.00028.00023.00019.00062.0000.20830.31550.34030.20830.03470.19440.13190.4306
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0020
predicted_AB3.5490
predicted_AVG0.2280
predicted_BB0.4010
predicted_H0.8090
predicted_HBP0.0870
predicted_HR0.0980
predicted_OBP0.3187
predicted_R0.5800
predicted_RBI0.5930
predicted_SLG0.3461
predicted_SO1.4730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09100.12200.1036model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.76003.54903.6744model_form_blend
predicted_AVG0.21500.22800.2203model_form_blend
predicted_BB0.43200.40100.4194model_form_blend
predicted_H0.81000.80900.8096model_form_blend
predicted_HBP-0.08700.0870form_only
predicted_HR0.13000.09800.1170model_form_blend
predicted_OBP0.32300.31870.3213model_form_blend
predicted_R0.52300.58000.5461model_form_blend
predicted_RBI0.60000.59300.5972model_form_blend
predicted_SLG0.37200.34610.3615model_form_blend
predicted_SO1.40901.47301.4350model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
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_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_SO2
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261008_CLE@CHW
game_typefull
mlbID691019
playerID691019
playerNameKyle Teel
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-10-08
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
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 677
All-history rows before 20261010: 677
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2525
Diff (system - data): -0.0035
System opponent_avg: 0.4290

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1890.0000.000Hitting_2B0.2080.000-0.2080.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.7013.0003.000Hitting_AB3.8082.000-0.8081.000
predicted_AVG0.2710.0000.000Hitting_AVG0.2530.500-0.253-0.500
predicted_BB0.6651.0001.000Hitting_BB0.6473.0000.353-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.8700.0000.000Hitting_H0.9621.000-0.962-1.000
predicted_HR0.2500.0000.000Hitting_HR0.2171.000-0.217-1.000
predicted_OBP0.4430.2500.250Hitting_OBP0.3650.800-0.115-0.550
predicted_R0.6770.0000.000Hitting_R0.7102.000-0.710-2.000
predicted_RBI0.5201.0001.000Hitting_RBI0.5861.0000.4140.000
predicted_SLG0.5400.0000.000Hitting_SLG0.4812.000-0.481-2.000
predicted_SO0.7991.0001.000Hitting_SO0.8120.0000.1881.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_RBI: 0.5200 -> 1.0000 (boost 0.4800, 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_blend62424predicted_BB: 0.6650 -> 0.8088 (boost 0.1438, better)predicted_AB: 3.7010 -> 3.6098 (deboost -0.0912, worse)Final model input calibrated 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.4263 -> 0.3781 (deboost -0.0482, 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.6098 -> 4.0000 (boost 0.3902, better)predicted_RBI: 0.4979 -> 0.0000 (deboost -0.4979, worse)AB rounded to 4 (raw=3.70), rates preserved: AVG=0.218 HR/AB=0.060
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
7consistency_constraints11010predicted_R: 0.7239 -> 1.0000 (boost 0.2761, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.5170 (boost 0.5170, better)predicted_BB: 1.0000 -> 0.5554 (deboost -0.4446, 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_RBI: 0.5170 -> 1.0000 (boost 0.4830, better)predicted_HR: 0.1568 -> 0.0000 (deboost -0.1568, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization30303-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_final31212predicted_OBP: 0.3390 -> 0.3540 (boost 0.0150, better)predicted_AVG: 0.2310 -> 0.2210 (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": "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.189,
        "predicted_3B": 0.006,
        "predicted_AB": 3.701,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.665,
        "predicted_H": 0.87,
        "predicted_HR": 0.25,
        "predicted_OBP": 0.443,
        "predicted_R": 0.677,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.54,
        "predicted_SO": 0.799
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1539,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6098,
        "predicted_AVG": 0.2597,
        "predicted_BB": 0.8088,
        "predicted_H": 0.8639,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2206,
        "predicted_OBP": 0.4263,
        "predicted_R": 0.7279,
        "predicted_RBI": 0.5007,
        "predicted_SLG": 0.4942,
        "predicted_SO": 0.8113
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.701,
          "after": 3.6098,
          "delta": -0.0912,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2597,
          "delta": -0.0113,
          "percent_delta": -0.0417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.665,
          "after": 0.8088,
          "delta": 0.1438,
          "percent_delta": 0.2162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.443,
          "after": 0.4263,
          "delta": -0.0167,
          "percent_delta": -0.0377,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.677,
          "after": 0.7279,
          "delta": 0.0509,
          "percent_delta": 0.0752,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.54,
          "after": 0.4942,
          "delta": -0.0458,
          "percent_delta": -0.0848,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.665,
          "after": 0.8088,
          "delta": 0.1438,
          "percent_delta": 0.2162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.701,
          "after": 3.6098,
          "delta": -0.0912,
          "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": 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.1539,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6098,
        "predicted_AVG": 0.2384,
        "predicted_BB": 0.8108,
        "predicted_H": 0.8607,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2203,
        "predicted_OBP": 0.3781,
        "predicted_R": 0.7239,
        "predicted_RBI": 0.4979,
        "predicted_SLG": 0.467,
        "predicted_SO": 0.8093
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2597,
          "after": 0.2384,
          "delta": -0.0213,
          "percent_delta": -0.082,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4263,
          "after": 0.3781,
          "delta": -0.0482,
          "percent_delta": -0.1131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4942,
          "after": 0.467,
          "delta": -0.0272,
          "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_OBP",
          "before": 0.4263,
          "after": 0.3781,
          "delta": -0.0482,
          "percent_delta": -0.1131,
          "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.70), rates preserved: AVG=0.218 HR/AB=0.060",
      "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.1539,
          "after": 0.0,
          "delta": -0.1539,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6098,
          "after": 4.0,
          "delta": 0.3902,
          "percent_delta": 0.1081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.8108,
          "after": 1.0,
          "delta": 0.1892,
          "percent_delta": 0.2333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8607,
          "after": 1.0,
          "delta": 0.1393,
          "percent_delta": 0.1618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2203,
          "after": 0.0,
          "delta": -0.2203,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4979,
          "after": 0.0,
          "delta": -0.4979,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8093,
          "after": 1.0,
          "delta": 0.1907,
          "percent_delta": 0.2356,
          "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.6098,
          "after": 4.0,
          "delta": 0.3902,
          "percent_delta": 0.1081,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4979,
          "after": 0.0,
          "delta": -0.4979,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      }
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.7239,
          "after": 1.0,
          "delta": 0.2761,
          "percent_delta": 0.3814,
          "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.7239,
          "after": 1.0,
          "delta": 0.2761,
          "percent_delta": 0.3814,
          "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.151,
        "predicted_3B": 0.0075,
        "predicted_BB": 0.5554,
        "predicted_H": 0.8372,
        "predicted_HR": 0.1568,
        "predicted_RBI": 0.517,
        "predicted_SO": 0.965
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.151,
          "delta": 0.151,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5554,
          "delta": -0.4446,
          "percent_delta": -0.4446,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8372,
          "delta": -0.1628,
          "percent_delta": -0.1628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1568,
          "delta": 0.1568,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.517,
          "delta": 0.517,
          "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.517,
          "delta": 0.517,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5554,
          "delta": -0.4446,
          "percent_delta": -0.4446,
          "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.231,
        "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.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.151,
          "after": 0.0,
          "delta": -0.151,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2384,
          "after": 0.231,
          "delta": -0.0074,
          "percent_delta": -0.031,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5554,
          "after": 1.0,
          "delta": 0.4446,
          "percent_delta": 0.8005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8372,
          "after": 1.0,
          "delta": 0.1628,
          "percent_delta": 0.1945,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1568,
          "after": 0.0,
          "delta": -0.1568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3781,
          "after": 0.339,
          "delta": -0.0391,
          "percent_delta": -0.1034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.517,
          "after": 1.0,
          "delta": 0.483,
          "percent_delta": 0.9342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.467,
          "after": 0.407,
          "delta": -0.06,
          "percent_delta": -0.1285,
          "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_RBI",
          "before": 0.517,
          "after": 1.0,
          "delta": 0.483,
          "percent_delta": 0.9342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1568,
          "after": 0.0,
          "delta": -0.1568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.231,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.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 blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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": 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": 3.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.354,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.221,
          "delta": -0.01,
          "percent_delta": -0.0433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.354,
          "delta": 0.015,
          "percent_delta": 0.0442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.4,
          "delta": -0.007,
          "percent_delta": -0.0172,
          "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.339,
          "after": 0.354,
          "delta": 0.015,
          "percent_delta": 0.0442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.221,
          "delta": -0.01,
          "percent_delta": -0.0433,
          "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": 3.701,
        "after": 3.0,
        "delta": -0.701,
        "percent_delta": -0.1894,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.271,
        "after": 0.221,
        "delta": -0.05,
        "percent_delta": -0.1845,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.665,
        "after": 1.0,
        "delta": 0.335,
        "percent_delta": 0.5038,
        "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_HR",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.443,
        "after": 0.354,
        "delta": -0.089,
        "percent_delta": -0.2009,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.677,
        "after": 0.0,
        "delta": -0.677,
        "percent_delta": -1.0,
        "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.54,
        "after": 0.4,
        "delta": -0.14,
        "percent_delta": -0.2593,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.799,
        "after": 1.0,
        "delta": 0.201,
        "percent_delta": 0.2516,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "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_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.189-
predicted_3B0.006-
predicted_AB3.701-
predicted_AVG0.271-
predicted_BB0.665-
predicted_H0.870-
predicted_HR0.250-
predicted_OBP0.443-
predicted_R0.677-
predicted_RBI0.520-
predicted_SLG0.540-
predicted_SO0.799-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.154-0.035
predicted_3B0.005-0.001
predicted_AB3.610-0.091
predicted_AVG0.260-0.011
predicted_BB0.8090.144
predicted_H0.864-0.006
predicted_HBP0.024-
predicted_HR0.221-0.029
predicted_OBP0.426-0.017
predicted_R0.7280.051
predicted_RBI0.501-0.019
predicted_SLG0.494-0.046
predicted_SO0.8110.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.1540.000
predicted_3B0.0050.000
predicted_AB3.6100.000
predicted_AVG0.238-0.021
predicted_BB0.8110.002
predicted_H0.861-0.003
predicted_HBP0.0240.000
predicted_HR0.220-0.000
predicted_OBP0.378-0.048
predicted_R0.724-0.004
predicted_RBI0.498-0.003
predicted_SLG0.467-0.027
predicted_SO0.809-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.70), rates preserved: AVG=0.218 HR/AB=0.060

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1510.151
3B0.0070.007
BB0.555-0.445
H0.837-0.163
HR0.1570.157
RBI0.5170.517
SO0.965-0.035
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.151
3B0.000-0.007
AB4.0000.000
AVG0.231-
BB1.0000.445
H1.0000.163
HR0.000-0.157
OBP0.339-
R1.0000.000
RBI1.0000.483
SLG0.407-
SO1.0000.035
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.154
predicted_3B0.000-0.005
predicted_AB4.0000.390
predicted_AVG0.231-0.007
predicted_BB1.0000.189
predicted_H1.0000.139
predicted_HR0.000-0.220
predicted_OBP0.339-0.039
predicted_R1.0000.276
predicted_RBI1.0000.502
predicted_SLG0.407-0.060
predicted_SO1.0000.191
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
H0.000-1.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
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
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: 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-15.0004.0000.0000.0001.0001.0005.0008.0004.0000.26670.52170.46670.26670.06670.06670.53330.2667
last_100.2010-33.0007.0000.0000.0001.0005.0009.00013.0009.0000.21210.42550.30300.21210.03030.15150.39390.2727
season0.60164-607.000151.00031.0001.00034.00094.000111.000109.000131.0000.24880.36580.47120.24880.05600.15490.17960.2158
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1090
predicted_3B0.0040
predicted_AB3.4930
predicted_AVG0.2452
predicted_BB0.9930
predicted_H0.8560
predicted_HBP0.0240
predicted_HR0.1830
predicted_OBP0.4048
predicted_R0.7930
predicted_RBI0.4760
predicted_SLG0.4355
predicted_SO0.8270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.10900.1539model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.70103.49303.6098model_form_blend
predicted_AVG0.27100.24520.2597model_form_blend
predicted_BB0.66500.99300.8088model_form_blend
predicted_H0.87000.85600.8639model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.25000.18300.2206model_form_blend
predicted_OBP0.44300.40480.4263model_form_blend
predicted_R0.67700.79300.7279model_form_blend
predicted_RBI0.52000.47600.5007model_form_blend
predicted_SLG0.54000.43550.4942model_form_blend
predicted_SO0.79900.82700.8113model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB3
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261008_CLE@CHW
game_typefull
mlbID678246
playerID678246
playerNameMiguel Vargas
pos3B
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-10-08
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 20261010: 519
All-history rows before 20261010: 519
System season_avg: 0.2080
Data season_avg (2026 season-to-date): 0.2108
Diff (system - data): -0.0028
System opponent_avg: 0.2040

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1200.0000.000Hitting_2B0.1310.000-0.1310.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5864.0004.000Hitting_AB3.6843.0000.3161.000
predicted_AVG0.2080.2500.250Hitting_AVG0.2110.3330.039-0.083
predicted_BB0.7140.0000.000Hitting_BB0.7782.000-0.778-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.7441.0001.000Hitting_H0.7761.0000.2240.000
predicted_HR0.2710.0000.000Hitting_HR0.2910.000-0.2910.000
predicted_OBP0.3390.2500.250Hitting_OBP0.3540.600-0.104-0.350
predicted_R0.6391.0001.000Hitting_R0.7070.0000.2931.000
predicted_RBI0.6170.0000.000Hitting_RBI0.6221.000-0.622-1.000
predicted_SLG0.4720.2500.250Hitting_SLG0.4870.333-0.237-0.083
predicted_SO1.5643.0003.000Hitting_SO1.5801.0001.4202.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.5640 -> 3.0000 (boost 1.4360, worse)
Biggest Deboostpredicted_BB: 0.7140 -> 0.0000 (deboost -0.7140, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.5860 -> 3.6592 (boost 0.0732, better)predicted_BB: 0.7140 -> 0.6565 (deboost -0.0575, worse)Final model input calibrated 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.5988 -> 2.0000 (boost 0.4012, worse)predicted_HR: 0.2646 -> 0.0000 (deboost -0.2646, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.072
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.5965 -> 1.0000 (boost 0.4035, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2136 (boost 0.2136, better)predicted_RBI: 1.0000 -> 0.5259 (deboost -0.4741, 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.2136 -> 1.0000 (boost 0.7864, better)predicted_2B: 0.1496 -> 0.0000 (deboost -0.1496, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization41304predicted_SO: 2.0000 -> 3.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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3250 -> 0.3040 (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": "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.12,
        "predicted_3B": 0.008,
        "predicted_AB": 3.586,
        "predicted_AVG": 0.208,
        "predicted_BB": 0.714,
        "predicted_H": 0.744,
        "predicted_HR": 0.271,
        "predicted_OBP": 0.339,
        "predicted_R": 0.639,
        "predicted_RBI": 0.617,
        "predicted_SLG": 0.472,
        "predicted_SO": 1.564
      },
      "changed_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.1104,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6592,
        "predicted_AVG": 0.2115,
        "predicted_BB": 0.6565,
        "predicted_H": 0.7736,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.2649,
        "predicted_OBP": 0.3319,
        "predicted_R": 0.5998,
        "predicted_RBI": 0.651,
        "predicted_SLG": 0.4628,
        "predicted_SO": 1.6028
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.586,
          "after": 3.6592,
          "delta": 0.0732,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.714,
          "after": 0.6565,
          "delta": -0.0575,
          "percent_delta": -0.0805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3319,
          "delta": -0.0071,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.472,
          "after": 0.4628,
          "delta": -0.0092,
          "percent_delta": -0.0195,
          "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.586,
          "after": 3.6592,
          "delta": 0.0732,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.714,
          "after": 0.6565,
          "delta": -0.0575,
          "percent_delta": -0.0805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1104,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6592,
        "predicted_AVG": 0.2106,
        "predicted_BB": 0.6581,
        "predicted_H": 0.7707,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.2646,
        "predicted_OBP": 0.331,
        "predicted_R": 0.5965,
        "predicted_RBI": 0.6474,
        "predicted_SLG": 0.4614,
        "predicted_SO": 1.5988
      },
      "changed_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.198 HR/AB=0.072",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1104,
          "after": 0.0,
          "delta": -0.1104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6592,
          "after": 4.0,
          "delta": 0.3408,
          "percent_delta": 0.0931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6581,
          "after": 1.0,
          "delta": 0.3419,
          "percent_delta": 0.5195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7707,
          "after": 1.0,
          "delta": 0.2293,
          "percent_delta": 0.2975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2646,
          "after": 0.0,
          "delta": -0.2646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6474,
          "after": 1.0,
          "delta": 0.3526,
          "percent_delta": 0.5446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5988,
          "after": 2.0,
          "delta": 0.4012,
          "percent_delta": 0.2509,
          "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.5988,
          "after": 2.0,
          "delta": 0.4012,
          "percent_delta": 0.2509,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2646,
          "after": 0.0,
          "delta": -0.2646,
          "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": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5965,
          "after": 1.0,
          "delta": 0.4035,
          "percent_delta": 0.6764,
          "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.5965,
          "after": 1.0,
          "delta": 0.4035,
          "percent_delta": 0.6764,
          "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.1496,
        "predicted_3B": 0.0095,
        "predicted_BB": 0.6621,
        "predicted_H": 0.7467,
        "predicted_HR": 0.2136,
        "predicted_RBI": 0.5259,
        "predicted_SO": 1.8851
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1496,
          "delta": 0.1496,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6621,
          "delta": -0.3379,
          "percent_delta": -0.3379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7467,
          "delta": -0.2533,
          "percent_delta": -0.2533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2136,
          "delta": 0.2136,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5259,
          "delta": -0.4741,
          "percent_delta": -0.4741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.8851,
          "delta": -0.1149,
          "percent_delta": -0.0575,
          "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.2136,
          "delta": 0.2136,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5259,
          "delta": -0.4741,
          "percent_delta": -0.4741,
          "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.2,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.416,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1496,
          "after": 0.0,
          "delta": -0.1496,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2106,
          "after": 0.2,
          "delta": -0.0106,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6621,
          "after": 1.0,
          "delta": 0.3379,
          "percent_delta": 0.5103,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7467,
          "after": 1.0,
          "delta": 0.2533,
          "percent_delta": 0.3392,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2136,
          "after": 1.0,
          "delta": 0.7864,
          "percent_delta": 3.6816,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.325,
          "delta": -0.006,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5259,
          "after": 1.0,
          "delta": 0.4741,
          "percent_delta": 0.9015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4614,
          "after": 0.416,
          "delta": -0.0454,
          "percent_delta": -0.0984,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8851,
          "after": 2.0,
          "delta": 0.1149,
          "percent_delta": 0.061,
          "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.2136,
          "after": 1.0,
          "delta": 0.7864,
          "percent_delta": 3.6816,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1496,
          "after": 0.0,
          "delta": -0.1496,
          "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.2,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.416,
        "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 blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.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_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": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "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": 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": 1.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.187,
        "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.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.402,
        "predicted_SO": 3.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.187,
          "delta": -0.013,
          "percent_delta": -0.065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.304,
          "delta": -0.021,
          "percent_delta": -0.0646,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.402,
          "delta": -0.014,
          "percent_delta": -0.0337,
          "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.325,
          "after": 0.304,
          "delta": -0.021,
          "percent_delta": -0.0646,
          "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.586,
        "after": 4.0,
        "delta": 0.414,
        "percent_delta": 0.1154,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.208,
        "after": 0.187,
        "delta": -0.021,
        "percent_delta": -0.101,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.714,
        "after": 0.0,
        "delta": -0.714,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.744,
        "after": 1.0,
        "delta": 0.256,
        "percent_delta": 0.3441,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.271,
        "after": 0.0,
        "delta": -0.271,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.304,
        "delta": -0.035,
        "percent_delta": -0.1032,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.639,
        "after": 1.0,
        "delta": 0.361,
        "percent_delta": 0.5649,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.617,
        "after": 0.0,
        "delta": -0.617,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.472,
        "after": 0.402,
        "delta": -0.07,
        "percent_delta": -0.1483,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.564,
        "after": 3.0,
        "delta": 1.436,
        "percent_delta": 0.9182,
        "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.564,
        "after": 3.0,
        "delta": 1.436,
        "percent_delta": 0.9182,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.714,
        "after": 0.0,
        "delta": -0.714,
        "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.008-
predicted_AB3.586-
predicted_AVG0.208-
predicted_BB0.714-
predicted_H0.744-
predicted_HR0.271-
predicted_OBP0.339-
predicted_R0.639-
predicted_RBI0.617-
predicted_SLG0.472-
predicted_SO1.564-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.110-0.010
predicted_3B0.007-0.001
predicted_AB3.6590.073
predicted_AVG0.2110.004
predicted_BB0.656-0.057
predicted_H0.7740.030
predicted_HBP0.029-
predicted_HR0.265-0.006
predicted_OBP0.332-0.007
predicted_R0.600-0.039
predicted_RBI0.6510.034
predicted_SLG0.463-0.009
predicted_SO1.6030.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.1100.000
predicted_3B0.0070.000
predicted_AB3.6590.000
predicted_AVG0.211-0.001
predicted_BB0.6580.002
predicted_H0.771-0.003
predicted_HBP0.0290.000
predicted_HR0.265-0.000
predicted_OBP0.331-0.001
predicted_R0.597-0.003
predicted_RBI0.647-0.004
predicted_SLG0.461-0.001
predicted_SO1.599-0.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1500.150
3B0.0090.009
BB0.662-0.338
H0.747-0.253
HR0.2140.214
RBI0.526-0.474
SO1.885-0.115
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.009
AB4.0000.000
AVG0.200-
BB1.0000.338
H1.0000.253
HR1.0000.786
OBP0.325-
R1.0000.000
RBI1.0000.474
SLG0.416-
SO2.0000.115
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.007
predicted_AB4.0000.341
predicted_AVG0.200-0.011
predicted_BB1.0000.342
predicted_H1.0000.229
predicted_HR1.0000.735
predicted_OBP0.325-0.006
predicted_R1.0000.403
predicted_RBI1.0000.353
predicted_SLG0.416-0.045
predicted_SO2.0000.401
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI0.000-1.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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.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: 133
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0004.0000.0000.0001.0004.0001.0002.00010.0000.20000.27270.35000.20000.05000.20000.10000.5000
last_100.2010-40.00010.0001.0000.0003.0009.0006.0004.00018.0000.25000.31110.50000.25000.07500.22500.10000.4500
season0.60133-477.00099.00016.0001.00036.00082.00085.00095.000208.0000.20750.34480.47170.20760.07550.17190.19920.4361
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0980
predicted_3B0.0050
predicted_AB3.7540
predicted_AVG0.2161
predicted_BB0.5820
predicted_H0.8120
predicted_HBP0.0290
predicted_HR0.2570
predicted_OBP0.3227
predicted_R0.5490
predicted_RBI0.6950
predicted_SLG0.4508
predicted_SO1.6530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12000.09800.1104model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.58603.75403.6592model_form_blend
predicted_AVG0.20800.21610.2115model_form_blend
predicted_BB0.71400.58200.6565model_form_blend
predicted_H0.74400.81200.7736model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.27100.25700.2649model_form_blend
predicted_OBP0.33900.32270.3319model_form_blend
predicted_R0.63900.54900.5998model_form_blend
predicted_RBI0.61700.69500.6510model_form_blend
predicted_SLG0.47200.45080.4628model_form_blend
predicted_SO1.56401.65301.6028model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI0
BB0
SO3
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_BB2
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
gameID20261008_CLE@CHW
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-10-08
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
Andrew Benintendi (643217) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 456
All-history rows before 20261010: 456
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2615
Diff (system - data): -0.0225
System opponent_avg: 0.3850
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.1660.0000.000Hitting_2B0.2190.000-0.2190.000
predicted_3B0.0140.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB2.9453.0003.000Hitting_AB3.4391.000-0.4392.000
predicted_AVG0.2280.0000.000Hitting_AVG0.2610.000-0.2610.000
predicted_BB0.2831.0001.000Hitting_BB0.3200.0000.6801.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2500.0000.000Hitting_H0.8990.000-0.8990.000
predicted_HR0.0500.0000.000Hitting_HR0.1250.000-0.1250.000
predicted_OBP0.2870.2500.250Hitting_OBP0.3210.000-0.0710.250
predicted_R0.4070.0000.000Hitting_R0.5220.000-0.5220.000
predicted_RBI0.3600.0000.000Hitting_RBI0.6210.000-0.6210.000
predicted_SLG0.3570.0000.000Hitting_SLG0.4450.000-0.4450.000
predicted_SO0.8002.0002.000Hitting_SO0.8421.0001.1581.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.8000 -> 2.0000 (boost 1.2000, worse)
Biggest Deboostpredicted_R: 0.4070 -> 0.0000 (deboost -0.4070, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend76152predicted_RBI: 0.3600 -> 0.5162 (boost 0.1562, better)predicted_AB: 2.9450 -> 2.7806 (deboost -0.1644, worse)Final model input calibrated 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.3884 -> 0.2921 (deboost -0.0963, 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.5134 -> 1.0000 (boost 0.4866, better)predicted_H: 0.3901 -> 0.0000 (deboost -0.3901, worse)AB rounded to 3 (raw=2.94), rates preserved: AVG=0.124 HR/AB=0.030
6bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)
7consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3970 -> 0.0000 (deboost -0.3970, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3178 (boost 0.3178, better)predicted_RBI: 1.0000 -> 0.4950 (deboost -0.5050, 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_allocation84444predicted_RBI: 0.4950 -> 1.0000 (boost 0.5050, better)predicted_H: 0.7217 -> 0.0000 (deboost -0.7217, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization32112predicted_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.3080 -> 0.2640 (deboost -0.0440, 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": "643217",
  "player_name": "Andrew Benintendi",
  "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.166,
        "predicted_3B": 0.014,
        "predicted_AB": 2.945,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.283,
        "predicted_H": 0.25,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.287,
        "predicted_R": 0.407,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.357,
        "predicted_SO": 0.8
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1323,
        "predicted_3B": 0.011,
        "predicted_AB": 2.7806,
        "predicted_AVG": 0.2266,
        "predicted_BB": 0.3557,
        "predicted_H": 0.3915,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0894,
        "predicted_OBP": 0.3067,
        "predicted_R": 0.3992,
        "predicted_RBI": 0.5162,
        "predicted_SLG": 0.3884,
        "predicted_SO": 0.858
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.945,
          "after": 2.7806,
          "delta": -0.1644,
          "percent_delta": -0.0558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.283,
          "after": 0.3557,
          "delta": 0.0727,
          "percent_delta": 0.2569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.25,
          "after": 0.3915,
          "delta": 0.1415,
          "percent_delta": 0.566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.3067,
          "delta": 0.0197,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.5162,
          "delta": 0.1562,
          "percent_delta": 0.4339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3884,
          "delta": 0.0314,
          "percent_delta": 0.088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8,
          "after": 0.858,
          "delta": 0.058,
          "percent_delta": 0.0725,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 6,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.5162,
          "delta": 0.1562,
          "percent_delta": 0.4339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 2.945,
          "after": 2.7806,
          "delta": -0.1644,
          "percent_delta": -0.0558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 145
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1323,
        "predicted_3B": 0.011,
        "predicted_AB": 2.7806,
        "predicted_AVG": 0.1403,
        "predicted_BB": 0.3566,
        "predicted_H": 0.3901,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0893,
        "predicted_OBP": 0.238,
        "predicted_R": 0.397,
        "predicted_RBI": 0.5134,
        "predicted_SLG": 0.2921,
        "predicted_SO": 0.8559
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2266,
          "after": 0.1403,
          "delta": -0.0863,
          "percent_delta": -0.3808,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3067,
          "after": 0.238,
          "delta": -0.0687,
          "percent_delta": -0.224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3884,
          "after": 0.2921,
          "delta": -0.0963,
          "percent_delta": -0.2479,
          "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.3884,
          "after": 0.2921,
          "delta": -0.0963,
          "percent_delta": -0.2479,
          "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.94), rates preserved: AVG=0.124 HR/AB=0.030",
      "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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1323,
          "after": 0.0,
          "delta": -0.1323,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.7806,
          "after": 3.0,
          "delta": 0.2194,
          "percent_delta": 0.0789,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3566,
          "after": 0.0,
          "delta": -0.3566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3901,
          "after": 0.0,
          "delta": -0.3901,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0893,
          "after": 0.0,
          "delta": -0.0893,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5134,
          "after": 1.0,
          "delta": 0.4866,
          "percent_delta": 0.9478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8559,
          "after": 1.0,
          "delta": 0.1441,
          "percent_delta": 0.1684,
          "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.5134,
          "after": 1.0,
          "delta": 0.4866,
          "percent_delta": 0.9478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3901,
          "after": 0.0,
          "delta": -0.3901,
          "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.385)",
      "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": 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": 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_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.397,
          "after": 0.0,
          "delta": -0.397,
          "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.397,
          "after": 0.0,
          "delta": -0.397,
          "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.1631,
        "predicted_3B": 0.0099,
        "predicted_BB": 0.3178,
        "predicted_H": 0.7217,
        "predicted_HR": 0.0897,
        "predicted_RBI": 0.495,
        "predicted_SO": 1.0343
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1631,
          "delta": 0.1631,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3178,
          "delta": 0.3178,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7217,
          "delta": -0.2783,
          "percent_delta": -0.2783,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0897,
          "delta": 0.0897,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.495,
          "delta": -0.505,
          "percent_delta": -0.505,
          "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.3178,
          "delta": 0.3178,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.495,
          "delta": -0.505,
          "percent_delta": -0.505,
          "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.377,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1631,
          "after": 0.0,
          "delta": -0.1631,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1403,
          "after": 0.232,
          "delta": 0.0917,
          "percent_delta": 0.6536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3178,
          "after": 0.0,
          "delta": -0.3178,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7217,
          "after": 0.0,
          "delta": -0.7217,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0897,
          "after": 0.0,
          "delta": -0.0897,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.238,
          "after": 0.308,
          "delta": 0.07,
          "percent_delta": 0.2941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.495,
          "after": 1.0,
          "delta": 0.505,
          "percent_delta": 1.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2921,
          "after": 0.377,
          "delta": 0.0849,
          "percent_delta": 0.2907,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.495,
          "after": 1.0,
          "delta": 0.505,
          "percent_delta": 1.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7217,
          "after": 0.0,
          "delta": -0.7217,
          "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.377,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.19,
        "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.264,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.334,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.19,
          "delta": -0.042,
          "percent_delta": -0.181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.308,
          "after": 0.264,
          "delta": -0.044,
          "percent_delta": -0.1429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.334,
          "delta": -0.043,
          "percent_delta": -0.1141,
          "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.308,
          "after": 0.264,
          "delta": -0.044,
          "percent_delta": -0.1429,
          "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.166,
        "after": 0.0,
        "delta": -0.166,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.945,
        "after": 3.0,
        "delta": 0.055,
        "percent_delta": 0.0187,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.19,
        "delta": -0.038,
        "percent_delta": -0.1667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.283,
        "after": 1.0,
        "delta": 0.717,
        "percent_delta": 2.5336,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.287,
        "after": 0.264,
        "delta": -0.023,
        "percent_delta": -0.0801,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.407,
        "after": 0.0,
        "delta": -0.407,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.357,
        "after": 0.334,
        "delta": -0.023,
        "percent_delta": -0.0644,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.8,
        "after": 2.0,
        "delta": 1.2,
        "percent_delta": 1.5,
        "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.8,
        "after": 2.0,
        "delta": 1.2,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.407,
        "after": 0.0,
        "delta": -0.407,
        "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.014-
predicted_AB2.945-
predicted_AVG0.228-
predicted_BB0.283-
predicted_H0.250-
predicted_HR0.050-
predicted_OBP0.287-
predicted_R0.407-
predicted_RBI0.360-
predicted_SLG0.357-
predicted_SO0.800-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.132-0.034
predicted_3B0.011-0.003
predicted_AB2.781-0.164
predicted_AVG0.227-0.001
predicted_BB0.3560.073
predicted_H0.3920.142
predicted_HBP0.005-
predicted_HR0.0890.039
predicted_OBP0.3070.020
predicted_R0.399-0.008
predicted_RBI0.5160.156
predicted_SLG0.3880.031
predicted_SO0.8580.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.1320.000
predicted_3B0.0110.000
predicted_AB2.7810.000
predicted_AVG0.140-0.086
predicted_BB0.3570.001
predicted_H0.390-0.001
predicted_HBP0.0050.000
predicted_HR0.089-0.000
predicted_OBP0.238-0.069
predicted_R0.397-0.002
predicted_RBI0.513-0.003
predicted_SLG0.292-0.096
predicted_SO0.856-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.94), rates preserved: AVG=0.124 HR/AB=0.030

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0001.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.1630.163
3B0.0100.010
BB0.3180.318
H0.722-0.278
HR0.0900.090
RBI0.495-0.505
SO1.0340.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.163
3B0.000-0.010
AB3.0000.000
AVG0.232-
BB0.000-0.318
H0.000-0.722
HR0.000-0.090
OBP0.308-
R0.0000.000
RBI1.0000.505
SLG0.377-
SO1.000-0.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.132
predicted_3B0.000-0.011
predicted_AB3.0000.219
predicted_AVG0.2320.092
predicted_BB0.000-0.357
predicted_H0.000-0.390
predicted_HR0.000-0.089
predicted_OBP0.3080.070
predicted_R0.000-0.397
predicted_RBI1.0000.487
predicted_SLG0.3770.085
predicted_SO1.0000.144
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

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

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 145
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-8.0002.0000.0000.0001.0004.0002.0003.0004.0000.25000.45450.62500.25000.12500.50000.37500.5000
last_100.2010-20.0003.0000.0000.0001.0008.0002.0005.00011.0000.15000.30770.30000.15000.05000.40000.25000.5500
season0.60145-427.000102.00024.0002.00015.00079.00059.00041.000116.0000.23890.30320.40980.23890.03510.18500.09600.2717
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0880
predicted_3B0.0070
predicted_AB2.5650
predicted_AVG0.2248
predicted_BB0.4510
predicted_H0.5770
predicted_HBP0.0050
predicted_HR0.1410
predicted_OBP0.3326
predicted_R0.3890
predicted_RBI0.7210
predicted_SLG0.4295
predicted_SO0.9340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16600.08800.1323model_form_blend
predicted_3B0.01400.00700.0110model_form_blend
predicted_AB2.94502.56502.7806model_form_blend
predicted_AVG0.22800.22480.2266model_form_blend
predicted_BB0.28300.45100.3557model_form_blend
predicted_H0.25000.57700.3915model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.05000.14100.0894model_form_blend
predicted_OBP0.28700.33260.3067model_form_blend
predicted_R0.40700.38900.3992model_form_blend
predicted_RBI0.36000.72100.5162model_form_blend
predicted_SLG0.35700.42950.3884model_form_blend
predicted_SO0.80000.93400.8580model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_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
gameID20261008_CLE@CHW
game_typeph
mlbID643217
noteStruck out for Doyle, B in the 9th.
playerID643217
playerNameAndrew Benintendi
posDH
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-08
sl_k_percent23.9
sl_bb_percent8.3
sl_woba0.311
sl_xwoba0.307
sl_xba0.24
sl_xslg0.398
sl_sweet_spot_percent36.4
sl_barrel_batted_rate8.6
sl_hard_hit_percent45.1
sl_exit_velocity_avg89.3
sl_launch_angle_avg17.3
sl_whiff_percent28.3
sl_swing_percent51.8
Tristan Peters (671976) · BATTER · RF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 484
All-history rows before 20261010: 484
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2888
Diff (system - data): -0.0228
System opponent_avg: 0.1800
System season_avg diverges from 2026 season-to-date by -0.0228. 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.2091.0001.000Hitting_2B0.2520.0000.7481.000
predicted_3B0.0260.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB2.9744.0004.000Hitting_AB3.2053.0000.7951.000
predicted_AVG0.2660.2500.250Hitting_AVG0.2890.333-0.039-0.083
predicted_BB0.2420.0000.000Hitting_BB0.2710.000-0.2710.000
predicted_CS-0.0000.000BaseRunning_CS0.0140.000-0.0140.000
predicted_H0.7911.0001.000Hitting_H0.9261.0000.0740.000
predicted_HR0.0780.0000.000Hitting_HR0.1050.000-0.1050.000
predicted_OBP0.3210.2500.250Hitting_OBP0.3550.333-0.105-0.083
predicted_R0.4051.0001.000Hitting_R0.4790.0000.5211.000
predicted_RBI0.3790.0000.000Hitting_RBI0.4830.000-0.4830.000
predicted_SLG0.4330.5000.500Hitting_SLG0.4830.3330.0170.167
predicted_SO0.6341.0001.000Hitting_SO0.6121.0000.3880.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: 2.9740 -> 4.0000 (boost 1.0260, better)
Biggest Deboostpredicted_RBI: 0.3790 -> 0.0000 (deboost -0.3790, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 0.6340 -> 0.7103 (boost 0.0763, worse)predicted_SLG: 0.4330 -> 0.4112 (deboost -0.0218, worse)Final model input calibrated 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_scaling62415predicted_SO: 0.7085 -> 1.0000 (boost 0.2915, worse)predicted_RBI: 0.3834 -> 0.0000 (deboost -0.3834, worse)AB rounded to 3 (raw=3.00), rates preserved: AVG=0.246 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
7consistency_constraints10101-predicted_R: 0.3717 -> 0.0000 (deboost -0.3717, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3875 (boost 0.3875, better)predicted_H: 1.0000 -> 0.7869 (deboost -0.2131, 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_2B: 0.1809 -> 1.0000 (boost 0.8191, better)predicted_RBI: 0.3875 -> 0.0000 (deboost -0.3875, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_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.2970 -> 0.2790 (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": "671976",
  "player_name": "Tristan Peters",
  "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.209,
        "predicted_3B": 0.026,
        "predicted_AB": 2.974,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.242,
        "predicted_H": 0.791,
        "predicted_HR": 0.078,
        "predicted_OBP": 0.321,
        "predicted_R": 0.405,
        "predicted_RBI": 0.379,
        "predicted_SLG": 0.433,
        "predicted_SO": 0.634
      },
      "changed_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.1995,
        "predicted_3B": 0.0217,
        "predicted_AB": 2.9983,
        "predicted_AVG": 0.2633,
        "predicted_BB": 0.2281,
        "predicted_H": 0.7893,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.0663,
        "predicted_OBP": 0.3182,
        "predicted_R": 0.3738,
        "predicted_RBI": 0.3855,
        "predicted_SLG": 0.4112,
        "predicted_SO": 0.7103
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4112,
          "delta": -0.0218,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.634,
          "after": 0.7103,
          "delta": 0.0763,
          "percent_delta": 0.1203,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.634,
          "after": 0.7103,
          "delta": 0.0763,
          "percent_delta": 0.1203,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4112,
          "delta": -0.0218,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1995,
        "predicted_3B": 0.0217,
        "predicted_AB": 2.9983,
        "predicted_AVG": 0.2623,
        "predicted_BB": 0.2287,
        "predicted_H": 0.7864,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.0662,
        "predicted_OBP": 0.3146,
        "predicted_R": 0.3717,
        "predicted_RBI": 0.3834,
        "predicted_SLG": 0.4095,
        "predicted_SO": 0.7085
      },
      "changed_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.00), rates preserved: AVG=0.246 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1995,
          "after": 0.0,
          "delta": -0.1995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2287,
          "after": 0.0,
          "delta": -0.2287,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7864,
          "after": 1.0,
          "delta": 0.2136,
          "percent_delta": 0.2716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0662,
          "after": 0.0,
          "delta": -0.0662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3834,
          "after": 0.0,
          "delta": -0.3834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7085,
          "after": 1.0,
          "delta": 0.2915,
          "percent_delta": 0.4114,
          "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.7085,
          "after": 1.0,
          "delta": 0.2915,
          "percent_delta": 0.4114,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3834,
          "after": 0.0,
          "delta": -0.3834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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": 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.3717,
          "after": 0.0,
          "delta": -0.3717,
          "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.3717,
          "after": 0.0,
          "delta": -0.3717,
          "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.1809,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.3093,
        "predicted_H": 0.7869,
        "predicted_HR": 0.0849,
        "predicted_RBI": 0.3875,
        "predicted_SO": 0.9624
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1809,
          "delta": 0.1809,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3093,
          "delta": 0.3093,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7869,
          "delta": -0.2131,
          "percent_delta": -0.2131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0849,
          "delta": 0.0849,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3875,
          "delta": 0.3875,
          "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.3875,
          "delta": 0.3875,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7869,
          "delta": -0.2131,
          "percent_delta": -0.2131,
          "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": 3.0,
        "predicted_AVG": 0.228,
        "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.363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1809,
          "after": 1.0,
          "delta": 0.8191,
          "percent_delta": 4.5279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2623,
          "after": 0.228,
          "delta": -0.0343,
          "percent_delta": -0.1308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3093,
          "after": 0.0,
          "delta": -0.3093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7869,
          "after": 1.0,
          "delta": 0.2131,
          "percent_delta": 0.2708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0849,
          "after": 0.0,
          "delta": -0.0849,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3146,
          "after": 0.297,
          "delta": -0.0176,
          "percent_delta": -0.0559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3875,
          "after": 0.0,
          "delta": -0.3875,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4095,
          "after": 0.363,
          "delta": -0.0465,
          "percent_delta": -0.1136,
          "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_2B",
          "before": 0.1809,
          "after": 1.0,
          "delta": 0.8191,
          "percent_delta": 4.5279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3875,
          "after": 0.0,
          "delta": -0.3875,
          "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": 3.0,
        "predicted_AVG": 0.228,
        "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.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": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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_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": 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": 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": 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.211,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.351,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.211,
          "delta": -0.017,
          "percent_delta": -0.0746,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.279,
          "delta": -0.018,
          "percent_delta": -0.0606,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.351,
          "delta": -0.012,
          "percent_delta": -0.0331,
          "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.297,
          "after": 0.279,
          "delta": -0.018,
          "percent_delta": -0.0606,
          "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.209,
        "after": 1.0,
        "delta": 0.791,
        "percent_delta": 3.7847,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.974,
        "after": 4.0,
        "delta": 1.026,
        "percent_delta": 0.345,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.211,
        "delta": -0.055,
        "percent_delta": -0.2068,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.242,
        "after": 0.0,
        "delta": -0.242,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.791,
        "after": 1.0,
        "delta": 0.209,
        "percent_delta": 0.2642,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.078,
        "after": 0.0,
        "delta": -0.078,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.321,
        "after": 0.279,
        "delta": -0.042,
        "percent_delta": -0.1308,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.405,
        "after": 1.0,
        "delta": 0.595,
        "percent_delta": 1.4691,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.379,
        "after": 0.0,
        "delta": -0.379,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.433,
        "after": 0.351,
        "delta": -0.082,
        "percent_delta": -0.1894,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.634,
        "after": 1.0,
        "delta": 0.366,
        "percent_delta": 0.5773,
        "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": 2.974,
        "after": 4.0,
        "delta": 1.026,
        "percent_delta": 0.345,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.379,
        "after": 0.0,
        "delta": -0.379,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.209-
predicted_3B0.026-
predicted_AB2.974-
predicted_AVG0.266-
predicted_BB0.242-
predicted_H0.791-
predicted_HR0.078-
predicted_OBP0.321-
predicted_R0.405-
predicted_RBI0.379-
predicted_SLG0.433-
predicted_SO0.634-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.200-0.009
predicted_3B0.022-0.004
predicted_AB2.9980.024
predicted_AVG0.263-0.003
predicted_BB0.228-0.014
predicted_H0.789-0.002
predicted_HBP0.039-
predicted_HR0.066-0.012
predicted_OBP0.318-0.003
predicted_R0.374-0.031
predicted_RBI0.3860.007
predicted_SLG0.411-0.022
predicted_SO0.7100.076
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2000.000
predicted_3B0.0220.000
predicted_AB2.9980.000
predicted_AVG0.262-0.001
predicted_BB0.2290.001
predicted_H0.786-0.003
predicted_HBP0.0390.000
predicted_HR0.066-0.000
predicted_OBP0.315-0.004
predicted_R0.372-0.002
predicted_RBI0.383-0.002
predicted_SLG0.409-0.002
predicted_SO0.709-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.00), rates preserved: AVG=0.246 HR/AB=0.022

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1810.181
3B0.0150.015
BB0.3090.309
H0.787-0.213
HR0.0850.085
RBI0.3880.388
SO0.962-0.038
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.819
3B0.000-0.015
AB3.0000.000
AVG0.228-
BB0.000-0.309
H1.0000.213
HR0.000-0.085
OBP0.297-
R0.0000.000
RBI0.000-0.388
SLG0.363-
SO1.0000.038
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.800
predicted_3B0.000-0.022
predicted_AB3.0000.002
predicted_AVG0.228-0.034
predicted_BB0.000-0.229
predicted_H1.0000.214
predicted_HR0.000-0.066
predicted_OBP0.297-0.018
predicted_R0.000-0.372
predicted_RBI0.000-0.383
predicted_SLG0.363-0.046
predicted_SO1.0000.291
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.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
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: 153
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.0000.0002.0001.0001.0006.0000.28570.33330.35710.28570.00000.14290.07140.4286
last_100.2010-32.0007.0001.0000.0000.0004.0002.0001.0009.0000.21880.24240.25000.21880.00000.12500.03120.2812
season0.60153-455.000121.00032.0004.00012.00058.00062.00037.00097.0000.26590.33330.43300.26590.02640.12750.08130.2132
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1870
predicted_3B0.0160
predicted_AB3.0300
predicted_AVG0.2597
predicted_BB0.2100
predicted_H0.7870
predicted_HBP0.0390
predicted_HR0.0510
predicted_OBP0.3146
predicted_R0.3330
predicted_RBI0.3940
predicted_SLG0.3827
predicted_SO0.8100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20900.18700.1995model_form_blend
predicted_3B0.02600.01600.0217model_form_blend
predicted_AB2.97403.03002.9983model_form_blend
predicted_AVG0.26600.25970.2633model_form_blend
predicted_BB0.24200.21000.2281model_form_blend
predicted_H0.79100.78700.7893model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.07800.05100.0663model_form_blend
predicted_OBP0.32100.31460.3182model_form_blend
predicted_R0.40500.33300.3738model_form_blend
predicted_RBI0.37900.39400.3855model_form_blend
predicted_SLG0.43300.38270.4112model_form_blend
predicted_SO0.63400.81000.7103model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date484
Season rows before report date484
Report year2026
Profile rows 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
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_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_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
gameID20261008_CLE@CHW
game_typeph
mlbID671976
noteStruck out for Grichuk in the 5th.
playerID671976
playerNameTristan Peters
posCF
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-08
sl_k_percent18.3
sl_bb_percent7.5
sl_woba0.34
sl_xwoba0.314
sl_xba0.248
sl_xslg0.384
sl_sweet_spot_percent33.1
sl_barrel_batted_rate5.4
sl_hard_hit_percent34.1
sl_exit_velocity_avg87.5
sl_launch_angle_avg18.0
sl_whiff_percent23.0
sl_swing_percent53.6
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 626
All-history rows before 20261010: 626
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2786
Diff (system - data): -0.0006
System opponent_avg: 0.2560

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2080.0000.000Hitting_2B0.2061.000-0.206-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8604.0004.000Hitting_AB3.7734.0000.2270.000
predicted_AVG0.2690.5000.500Hitting_AVG0.2790.2500.2210.250
predicted_BB0.3900.0000.000Hitting_BB0.4351.000-0.435-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H1.0402.0002.000Hitting_H1.0511.0000.9491.000
predicted_HR0.1200.0000.000Hitting_HR0.1130.000-0.1130.000
predicted_OBP0.3630.5000.500Hitting_OBP0.3560.4000.1440.100
predicted_R0.5971.0001.000Hitting_R0.6282.0000.372-1.000
predicted_RBI0.5002.0002.000Hitting_RBI0.4330.0001.5672.000
predicted_SB-0.0000.000BaseRunning_SB0.0260.000-0.0260.000
predicted_SLG0.4540.5000.500Hitting_SLG0.4230.5000.0770.000
predicted_SO0.9181.0001.000Hitting_SO0.9380.0000.0621.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_RBI: 0.5000 -> 2.0000 (boost 1.5000, better)
Biggest Deboostpredicted_BB: 0.3900 -> 0.0000 (deboost -0.3900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_H: 1.0400 -> 1.0973 (boost 0.0573, better)predicted_AB: 3.8600 -> 3.7931 (deboost -0.0669, worse)Final model input calibrated 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.4777 -> 0.4547 (deboost -0.0230, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_AB: 3.7931 -> 4.0000 (boost 0.2069, better)predicted_RBI: 0.5460 -> 0.0000 (deboost -0.5460, worse)AB rounded to 4 (raw=3.86), rates preserved: AVG=0.266 HR/AB=0.034
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints11010predicted_R: 0.6259 -> 1.0000 (boost 0.3741, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3725 (boost 0.3725, better)predicted_H: 1.0000 -> 0.8482 (deboost -0.1518, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation91827predicted_H: 0.8482 -> 1.0000 (boost 0.1518, better)predicted_RBI: 0.3725 -> 0.0000 (deboost -0.3725, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization22020predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.3680 -> 0.3530 (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": "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.208,
        "predicted_3B": 0.0,
        "predicted_AB": 3.86,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.39,
        "predicted_H": 1.04,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.363,
        "predicted_R": 0.597,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.454,
        "predicted_SO": 0.918
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2395,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7931,
        "predicted_AVG": 0.2896,
        "predicted_BB": 0.3808,
        "predicted_H": 1.0973,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.1305,
        "predicted_OBP": 0.3708,
        "predicted_R": 0.6294,
        "predicted_RBI": 0.549,
        "predicted_SLG": 0.4777,
        "predicted_SO": 0.9049
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.86,
          "after": 3.7931,
          "delta": -0.0669,
          "percent_delta": -0.0173,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2896,
          "delta": 0.0206,
          "percent_delta": 0.0766,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 1.0973,
          "delta": 0.0573,
          "percent_delta": 0.0551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3708,
          "delta": 0.0078,
          "percent_delta": 0.0215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.4777,
          "delta": 0.0237,
          "percent_delta": 0.0522,
          "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": 1.04,
          "after": 1.0973,
          "delta": 0.0573,
          "percent_delta": 0.0551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.86,
          "after": 3.7931,
          "delta": -0.0669,
          "percent_delta": -0.0173,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 159
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2395,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7931,
        "predicted_AVG": 0.2882,
        "predicted_BB": 0.3818,
        "predicted_H": 1.0932,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.1303,
        "predicted_OBP": 0.3533,
        "predicted_R": 0.6259,
        "predicted_RBI": 0.546,
        "predicted_SLG": 0.4547,
        "predicted_SO": 0.9026
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3708,
          "after": 0.3533,
          "delta": -0.0175,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4777,
          "after": 0.4547,
          "delta": -0.023,
          "percent_delta": -0.0481,
          "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.4777,
          "after": 0.4547,
          "delta": -0.023,
          "percent_delta": -0.0481,
          "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.86), rates preserved: AVG=0.266 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.2395,
          "after": 0.0,
          "delta": -0.2395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7931,
          "after": 4.0,
          "delta": 0.2069,
          "percent_delta": 0.0545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3818,
          "after": 0.0,
          "delta": -0.3818,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0932,
          "after": 1.0,
          "delta": -0.0932,
          "percent_delta": -0.0853,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1303,
          "after": 0.0,
          "delta": -0.1303,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.546,
          "after": 0.0,
          "delta": -0.546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9026,
          "after": 1.0,
          "delta": 0.0974,
          "percent_delta": 0.1079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.7931,
          "after": 4.0,
          "delta": 0.2069,
          "percent_delta": 0.0545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.546,
          "after": 0.0,
          "delta": -0.546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.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.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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.6259,
          "after": 1.0,
          "delta": 0.3741,
          "percent_delta": 0.5977,
          "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.6259,
          "after": 1.0,
          "delta": 0.3741,
          "percent_delta": 0.5977,
          "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.1614,
        "predicted_3B": 0.006,
        "predicted_BB": 0.3555,
        "predicted_H": 0.8482,
        "predicted_HR": 0.0889,
        "predicted_RBI": 0.3725,
        "predicted_SO": 1.106
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1614,
          "delta": 0.1614,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3555,
          "delta": 0.3555,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8482,
          "delta": -0.1518,
          "percent_delta": -0.1518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0889,
          "delta": 0.0889,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3725,
          "delta": 0.3725,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.106,
          "delta": 0.106,
          "percent_delta": 0.106,
          "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.3725,
          "delta": 0.3725,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8482,
          "delta": -0.1518,
          "percent_delta": -0.1518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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.368,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1614,
          "after": 0.0,
          "delta": -0.1614,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2882,
          "after": 0.242,
          "delta": -0.0462,
          "percent_delta": -0.1603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3555,
          "after": 0.0,
          "delta": -0.3555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8482,
          "after": 1.0,
          "delta": 0.1518,
          "percent_delta": 0.179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0889,
          "after": 0.0,
          "delta": -0.0889,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3533,
          "after": 0.317,
          "delta": -0.0363,
          "percent_delta": -0.1027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3725,
          "after": 0.0,
          "delta": -0.3725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4547,
          "after": 0.368,
          "delta": -0.0867,
          "percent_delta": -0.1907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.106,
          "after": 1.0,
          "delta": -0.106,
          "percent_delta": -0.0958,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 1,
        "deboosted_metrics": 8,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8482,
          "after": 1.0,
          "delta": 0.1518,
          "percent_delta": 0.179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3725,
          "after": 0.0,
          "delta": -0.3725,
          "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": 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.368,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.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": 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
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "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": 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": 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": 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.229,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.229,
          "delta": -0.013,
          "percent_delta": -0.0537,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.312,
          "delta": -0.005,
          "percent_delta": -0.0158,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.353,
          "delta": -0.015,
          "percent_delta": -0.0408,
          "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.368,
          "after": 0.353,
          "delta": -0.015,
          "percent_delta": -0.0408,
          "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.208,
        "after": 0.0,
        "delta": -0.208,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.86,
        "after": 4.0,
        "delta": 0.14,
        "percent_delta": 0.0363,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.229,
        "delta": -0.04,
        "percent_delta": -0.1487,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "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.363,
        "after": 0.312,
        "delta": -0.051,
        "percent_delta": -0.1405,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.597,
        "after": 1.0,
        "delta": 0.403,
        "percent_delta": 0.675,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.454,
        "after": 0.353,
        "delta": -0.101,
        "percent_delta": -0.2225,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.918,
        "after": 1.0,
        "delta": 0.082,
        "percent_delta": 0.0893,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.208-
predicted_3B0.000-
predicted_AB3.860-
predicted_AVG0.269-
predicted_BB0.390-
predicted_H1.040-
predicted_HR0.120-
predicted_OBP0.363-
predicted_R0.597-
predicted_RBI0.500-
predicted_SLG0.454-
predicted_SO0.918-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2390.032
predicted_3B0.0000.000
predicted_AB3.793-0.067
predicted_AVG0.2900.021
predicted_BB0.381-0.009
predicted_H1.0970.057
predicted_HBP0.023-
predicted_HR0.1310.011
predicted_OBP0.3710.008
predicted_R0.6290.032
predicted_RBI0.5490.049
predicted_SLG0.4780.024
predicted_SO0.905-0.013
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2390.000
predicted_3B0.0000.000
predicted_AB3.7930.000
predicted_AVG0.288-0.001
predicted_BB0.3820.001
predicted_H1.093-0.004
predicted_HBP0.0230.000
predicted_HR0.130-0.000
predicted_OBP0.353-0.018
predicted_R0.626-0.003
predicted_RBI0.546-0.003
predicted_SLG0.455-0.023
predicted_SO0.903-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.86), rates preserved: AVG=0.266 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=8.0, weight=0.084, BvP AVG=0.250)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0060.006
BB0.3550.355
H0.848-0.152
HR0.0890.089
RBI0.3720.372
SO1.1060.106
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.006
AB4.0000.000
AVG0.242-
BB0.000-0.355
H1.0000.152
HR0.000-0.089
OBP0.317-
R1.0000.000
RBI0.000-0.372
SLG0.368-
SO1.000-0.106
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.239
predicted_3B0.000-0.000
predicted_AB4.0000.207
predicted_AVG0.242-0.046
predicted_BB0.000-0.382
predicted_H1.000-0.093
predicted_HR0.000-0.130
predicted_OBP0.317-0.036
predicted_R1.0000.374
predicted_RBI0.000-0.546
predicted_SLG0.368-0.087
predicted_SO1.0000.097
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI2.0002.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
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: 159
Reference playing time: 3.860
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0006.0002.0000.0001.0004.0004.0002.0005.0000.31580.38100.57890.31580.05260.21050.10530.2632
last_100.2010-36.00016.0004.0000.0002.00010.0008.0003.0007.0000.44440.48720.72220.44440.05560.27780.08330.1944
season0.60159-589.000164.00033.0000.00017.00068.00095.00062.000146.0000.27840.35100.42110.27840.02890.11540.10530.2479
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2800
predicted_3B0.0010
predicted_AB3.7070
predicted_AVG0.3160
predicted_BB0.3690
predicted_H1.1710
predicted_HBP0.0230
predicted_HR0.1440
predicted_OBP0.3808
predicted_R0.6710
predicted_RBI0.6120
predicted_SLG0.5083
predicted_SO0.8880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20800.28000.2395model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.86003.70703.7931model_form_blend
predicted_AVG0.26900.31600.2896model_form_blend
predicted_BB0.39000.36900.3808model_form_blend
predicted_H1.04001.17101.0973model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.12000.14400.1305model_form_blend
predicted_OBP0.36300.38080.3708model_form_blend
predicted_R0.59700.67100.6294model_form_blend
predicted_RBI0.50000.61200.5490model_form_blend
predicted_SLG0.45400.50830.4777model_form_blend
predicted_SO0.91800.88800.9049model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR0
R1
RBI2
BB0
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261008_CLE@CHW
game_typefull
mlbID805367
playerID805367
playerNameChase Meidroth
pos2B
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-10-08
sl_k_percent21.9
sl_bb_percent9.5
sl_woba0.339
sl_xwoba0.301
sl_xba0.239
sl_xslg0.348
sl_sweet_spot_percent34.1
sl_barrel_batted_rate4.6
sl_hard_hit_percent34.6
sl_exit_velocity_avg87.2
sl_launch_angle_avg8.5
sl_whiff_percent19.7
sl_swing_percent42.0
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 616
All-history rows before 20261010: 616
System season_avg: 0.1990
Data season_avg (2026 season-to-date): 0.2063
Diff (system - data): -0.0073
System opponent_avg: 0.0200

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1740.000-0.1740.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7004.0004.000Hitting_AB3.8174.0000.1830.000
predicted_AVG0.2030.2500.250Hitting_AVG0.2060.5000.044-0.250
predicted_BB0.3520.0000.000Hitting_BB0.3730.000-0.3730.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H0.7501.0001.000Hitting_H0.7872.0000.213-1.000
predicted_HR0.1301.0001.000Hitting_HR0.2180.0000.7821.000
predicted_OBP0.2880.2500.250Hitting_OBP0.2920.500-0.042-0.250
predicted_R0.4591.0001.000Hitting_R0.5051.0000.4950.000
predicted_RBI0.4202.0002.000Hitting_RBI0.6150.0001.3852.000
predicted_SLG0.3511.0001.000Hitting_SLG0.4230.5000.5770.500
predicted_SO1.4843.0003.000Hitting_SO1.5051.0001.4952.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_RBI: 0.4200 -> 2.0000 (boost 1.5800, better)
Biggest Deboostpredicted_BB: 0.3520 -> 0.0000 (deboost -0.3520, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.3510 -> 0.3567 (boost 0.0057, better)predicted_AB: 3.7000 -> 3.6160 (deboost -0.0840, worse)Final model input calibrated 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.2914 -> 0.2712 (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_scaling82617predicted_SO: 1.4755 -> 2.0000 (boost 0.5245, worse)predicted_AB: 3.6160 -> 3.0000 (deboost -0.6160, worse)AB rounded to 3 (raw=3.70), rates preserved: AVG=0.186 HR/AB=0.036
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4108 -> 0.0000 (deboost -0.4108, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4080 (boost 0.4080, better)predicted_H: 1.0000 -> 0.6137 (deboost -0.3863, 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_allocation71607predicted_SO: 1.7087 -> 2.0000 (boost 0.2913, worse)predicted_H: 0.6137 -> 0.0000 (deboost -0.6137, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization66051predicted_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
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_AVG: 0.1900 -> 0.1630 (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": "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.157,
        "predicted_3B": 0.0,
        "predicted_AB": 3.7,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.352,
        "predicted_H": 0.75,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.288,
        "predicted_R": 0.459,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.351,
        "predicted_SO": 1.484
      },
      "changed_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.616,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.3419,
        "predicted_H": 0.7334,
        "predicted_HBP": 0.14,
        "predicted_HR": 0.1326,
        "predicted_OBP": 0.2914,
        "predicted_R": 0.4131,
        "predicted_RBI": 0.4148,
        "predicted_SLG": 0.3567,
        "predicted_SO": 1.4792
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.7,
          "after": 3.616,
          "delta": -0.084,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.3567,
          "delta": 0.0057,
          "percent_delta": 0.0162,
          "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.351,
          "after": 0.3567,
          "delta": 0.0057,
          "percent_delta": 0.0162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.7,
          "after": 3.616,
          "delta": -0.084,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 159
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.616,
        "predicted_AVG": 0.2021,
        "predicted_BB": 0.3428,
        "predicted_H": 0.7307,
        "predicted_HBP": 0.14,
        "predicted_HR": 0.1324,
        "predicted_OBP": 0.2712,
        "predicted_R": 0.4108,
        "predicted_RBI": 0.4125,
        "predicted_SLG": 0.3555,
        "predicted_SO": 1.4755
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2914,
          "after": 0.2712,
          "delta": -0.0202,
          "percent_delta": -0.0693,
          "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.2914,
          "after": 0.2712,
          "delta": -0.0202,
          "percent_delta": -0.0693,
          "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.186 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.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.616,
          "after": 3.0,
          "delta": -0.616,
          "percent_delta": -0.1704,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3428,
          "after": 0.0,
          "delta": -0.3428,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7307,
          "after": 1.0,
          "delta": 0.2693,
          "percent_delta": 0.3686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.14,
          "after": 0.0,
          "delta": -0.14,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.4125,
          "after": 0.0,
          "delta": -0.4125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4755,
          "after": 2.0,
          "delta": 0.5245,
          "percent_delta": 0.3555,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.4755,
          "after": 2.0,
          "delta": 0.5245,
          "percent_delta": 0.3555,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.616,
          "after": 3.0,
          "delta": -0.616,
          "percent_delta": -0.1704,
          "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.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.4108,
          "after": 0.0,
          "delta": -0.4108,
          "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.4108,
          "after": 0.0,
          "delta": -0.4108,
          "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.1387,
        "predicted_3B": 0.0059,
        "predicted_BB": 0.3241,
        "predicted_H": 0.6137,
        "predicted_HR": 0.1319,
        "predicted_RBI": 0.408,
        "predicted_SO": 1.7087
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1387,
          "delta": 0.1387,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3241,
          "delta": 0.3241,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6137,
          "delta": -0.3863,
          "percent_delta": -0.3863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1319,
          "delta": 0.1319,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.408,
          "delta": 0.408,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.7087,
          "delta": -0.2913,
          "percent_delta": -0.1456,
          "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.408,
          "delta": 0.408,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6137,
          "delta": -0.3863,
          "percent_delta": -0.3863,
          "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.19,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.359,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1387,
          "after": 0.0,
          "delta": -0.1387,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2021,
          "after": 0.19,
          "delta": -0.0121,
          "percent_delta": -0.0599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3241,
          "after": 0.0,
          "delta": -0.3241,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6137,
          "after": 0.0,
          "delta": -0.6137,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1319,
          "after": 0.0,
          "delta": -0.1319,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.408,
          "after": 0.0,
          "delta": -0.408,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7087,
          "after": 2.0,
          "delta": 0.2913,
          "percent_delta": 0.1705,
          "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": 1.7087,
          "after": 2.0,
          "delta": 0.2913,
          "percent_delta": 0.1705,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6137,
          "after": 0.0,
          "delta": -0.6137,
          "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.19,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.359,
        "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 blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "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": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "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": 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": 2.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.163,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.244,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.335,
        "predicted_SO": 3.0,
        "predicted_SS": 0.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.19,
          "after": 0.163,
          "delta": -0.027,
          "percent_delta": -0.1421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.244,
          "delta": -0.026,
          "percent_delta": -0.0963,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.359,
          "after": 0.335,
          "delta": -0.024,
          "percent_delta": -0.0669,
          "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.19,
          "after": 0.163,
          "delta": -0.027,
          "percent_delta": -0.1421,
          "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.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.7,
        "after": 4.0,
        "delta": 0.3,
        "percent_delta": 0.0811,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.163,
        "delta": -0.04,
        "percent_delta": -0.197,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 1.0,
        "delta": 0.25,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.288,
        "after": 0.244,
        "delta": -0.044,
        "percent_delta": -0.1528,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 1.0,
        "delta": 0.541,
        "percent_delta": 1.1786,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 2.0,
        "delta": 1.58,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.351,
        "after": 0.335,
        "delta": -0.016,
        "percent_delta": -0.0456,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.484,
        "after": 3.0,
        "delta": 1.516,
        "percent_delta": 1.0216,
        "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_RBI",
        "before": 0.42,
        "after": 2.0,
        "delta": 1.58,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.000-
predicted_AB3.700-
predicted_AVG0.203-
predicted_BB0.352-
predicted_H0.750-
predicted_HR0.130-
predicted_OBP0.288-
predicted_R0.459-
predicted_RBI0.420-
predicted_SLG0.351-
predicted_SO1.484-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.157-0.000
predicted_3B0.0000.000
predicted_AB3.616-0.084
predicted_AVG0.2030.000
predicted_BB0.342-0.010
predicted_H0.733-0.017
predicted_HBP0.140-
predicted_HR0.1330.003
predicted_OBP0.2910.003
predicted_R0.413-0.046
predicted_RBI0.415-0.005
predicted_SLG0.3570.006
predicted_SO1.479-0.005
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1570.000
predicted_3B0.0000.000
predicted_AB3.6160.000
predicted_AVG0.202-0.001
predicted_BB0.3430.001
predicted_H0.731-0.003
predicted_HBP0.1400.000
predicted_HR0.132-0.000
predicted_OBP0.271-0.020
predicted_R0.411-0.002
predicted_RBI0.412-0.002
predicted_SLG0.355-0.001
predicted_SO1.476-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.186 HR/AB=0.036

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1390.139
3B0.0060.006
BB0.3240.324
H0.614-0.386
HR0.1320.132
RBI0.4080.408
SO1.709-0.291
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.139
3B0.000-0.006
AB3.0000.000
AVG0.190-
BB0.000-0.324
H0.000-0.614
HR0.000-0.132
OBP0.270-
R0.0000.000
RBI0.000-0.408
SLG0.359-
SO2.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_2B0.000-0.157
predicted_3B0.000-0.000
predicted_AB3.000-0.616
predicted_AVG0.190-0.012
predicted_BB0.000-0.343
predicted_H0.000-0.731
predicted_HR0.000-0.132
predicted_OBP0.270-0.001
predicted_R0.000-0.411
predicted_RBI0.000-0.412
predicted_SLG0.3590.004
predicted_SO2.0000.524
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI2.0002.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
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R1.0000.000
RBI2.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: 159
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0004.0001.0000.0000.0001.0001.0002.0008.0000.25000.36840.31250.25000.00000.06250.12500.5000
last_100.2010-32.0005.0001.0000.0001.0002.0002.0002.00014.0000.15620.25000.28120.15620.03120.06250.06250.4375
season0.60159-587.000117.00025.0000.00032.00089.00073.00056.000236.0000.19930.28590.40550.19930.05450.15160.09540.4020
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1560
predicted_3B0.0010
predicted_AB3.5080
predicted_AVG0.2029
predicted_BB0.3290
predicted_H0.7120
predicted_HBP0.1400
predicted_HR0.1360
predicted_OBP0.2957
predicted_R0.3540
predicted_RBI0.4080
predicted_SLG0.3640
predicted_SO1.4730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.15600.1566model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.70003.50803.6160model_form_blend
predicted_AVG0.20300.20290.2030model_form_blend
predicted_BB0.35200.32900.3419model_form_blend
predicted_H0.75000.71200.7334model_form_blend
predicted_HBP-0.14000.1400form_only
predicted_HR0.13000.13600.1326model_form_blend
predicted_OBP0.28800.29570.2914model_form_blend
predicted_R0.45900.35400.4131model_form_blend
predicted_RBI0.42000.40800.4148model_form_blend
predicted_SLG0.35100.36400.3567model_form_blend
predicted_SO1.48401.47301.4792model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI2
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_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_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
gameID20261008_CLE@CHW
game_typefull
mlbID695657
playerID695657
playerNameColson Montgomery
posSS
startedTrue
startingPositionSS
teamCHW
teamID6
game_date2026-10-08
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
Brenton Doyle (686668) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 88
All-history rows before 20261010: 88
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2659
Diff (system - data): -0.0349
System opponent_avg: 0.2380
System season_avg diverges from 2026 season-to-date by -0.0349. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0920.0000.000Hitting_2B0.0680.000-0.0680.000
predicted_3B0.0130.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB2.8423.0003.000Hitting_AB2.8641.0000.1362.000
predicted_AVG0.2720.0000.000Hitting_AVG0.2660.000-0.2660.000
predicted_BB0.1581.0001.000Hitting_BB0.0000.0001.0001.000
predicted_CS-0.0000.000BaseRunning_CS0.0340.000-0.0340.000
predicted_H0.2800.0000.000Hitting_H0.7610.000-0.7610.000
predicted_HR0.0600.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.2720.2500.250Hitting_OBP0.2660.000-0.0160.250
predicted_R0.4341.0001.000Hitting_R0.2610.0000.7391.000
predicted_RBI0.1400.0000.000Hitting_RBI0.3750.000-0.3750.000
predicted_SLG0.4020.0000.000Hitting_SLG0.4170.000-0.4170.000
predicted_SO0.9743.0003.000Hitting_SO0.8750.0002.1253.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.9740 -> 3.0000 (boost 2.0260, worse)
Biggest Deboostpredicted_H: 0.2800 -> 0.0000 (deboost -0.2800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64251predicted_H: 0.2800 -> 0.4568 (boost 0.1768, better)predicted_SO: 0.9740 -> 0.9049 (deboost -0.0691, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.4324 -> 0.3170 (deboost -0.1154, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_AB: 2.8674 -> 3.0000 (boost 0.1326, better)predicted_H: 0.4551 -> 0.0000 (deboost -0.4551, worse)AB rounded to 3 (raw=2.87), rates preserved: AVG=0.149 HR/AB=0.040
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.4527 -> 0.0000 (deboost -0.4527, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_SO: 1.0000 -> 1.4655 (boost 0.4655, worse)predicted_H: 1.0000 -> 0.7408 (deboost -0.2592, 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_H: 0.7408 -> 1.0000 (boost 0.2592, better)predicted_SO: 1.4655 -> 1.0000 (deboost -0.4655, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization43122predicted_SO: 1.0000 -> 3.0000 (boost 2.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_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": "686668",
  "player_name": "Brenton Doyle",
  "position": "CF",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.092,
        "predicted_3B": 0.013,
        "predicted_AB": 2.842,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.158,
        "predicted_H": 0.28,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.272,
        "predicted_R": 0.434,
        "predicted_RBI": 0.14,
        "predicted_SLG": 0.402,
        "predicted_SO": 0.974
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0883,
        "predicted_3B": 0.0113,
        "predicted_AB": 2.8674,
        "predicted_AVG": 0.2599,
        "predicted_BB": 0.1376,
        "predicted_H": 0.4568,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1145,
        "predicted_OBP": 0.2716,
        "predicted_R": 0.4552,
        "predicted_RBI": 0.2286,
        "predicted_SLG": 0.4324,
        "predicted_SO": 0.9049
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2599,
          "delta": -0.0121,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.28,
          "after": 0.4568,
          "delta": 0.1768,
          "percent_delta": 0.6314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.1145,
          "delta": 0.0545,
          "percent_delta": 0.9083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.14,
          "after": 0.2286,
          "delta": 0.0886,
          "percent_delta": 0.6329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.4324,
          "delta": 0.0304,
          "percent_delta": 0.0756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.974,
          "after": 0.9049,
          "delta": -0.0691,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.28,
          "after": 0.4568,
          "delta": 0.1768,
          "percent_delta": 0.6314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.974,
          "after": 0.9049,
          "delta": -0.0691,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 76
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0883,
        "predicted_3B": 0.0113,
        "predicted_AB": 2.8674,
        "predicted_AVG": 0.1587,
        "predicted_BB": 0.1379,
        "predicted_H": 0.4551,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1144,
        "predicted_OBP": 0.1973,
        "predicted_R": 0.4527,
        "predicted_RBI": 0.2273,
        "predicted_SLG": 0.317,
        "predicted_SO": 0.9026
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2599,
          "after": 0.1587,
          "delta": -0.1012,
          "percent_delta": -0.3894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2716,
          "after": 0.1973,
          "delta": -0.0743,
          "percent_delta": -0.2736,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4324,
          "after": 0.317,
          "delta": -0.1154,
          "percent_delta": -0.2669,
          "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.4324,
          "after": 0.317,
          "delta": -0.1154,
          "percent_delta": -0.2669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.149 HR/AB=0.040",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0883,
          "after": 0.0,
          "delta": -0.0883,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.8674,
          "after": 3.0,
          "delta": 0.1326,
          "percent_delta": 0.0462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1379,
          "after": 0.0,
          "delta": -0.1379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4551,
          "after": 0.0,
          "delta": -0.4551,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1144,
          "after": 0.0,
          "delta": -0.1144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2273,
          "after": 0.0,
          "delta": -0.2273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9026,
          "after": 1.0,
          "delta": 0.0974,
          "percent_delta": 0.1079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.8674,
          "after": 3.0,
          "delta": 0.1326,
          "percent_delta": 0.0462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4551,
          "after": 0.0,
          "delta": -0.4551,
          "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.4527,
          "after": 0.0,
          "delta": -0.4527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4527,
          "after": 0.0,
          "delta": -0.4527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 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.14,
        "predicted_3B": 0.0106,
        "predicted_BB": 0.233,
        "predicted_H": 0.7408,
        "predicted_HR": 0.0925,
        "predicted_RBI": 0.3187,
        "predicted_SO": 1.4655
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.14,
          "delta": 0.14,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.233,
          "delta": 0.233,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7408,
          "delta": -0.2592,
          "percent_delta": -0.2592,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0925,
          "delta": 0.0925,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3187,
          "delta": 0.3187,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4655,
          "delta": 0.4655,
          "percent_delta": 0.4655,
          "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": 1.0,
          "after": 1.4655,
          "delta": 0.4655,
          "percent_delta": 0.4655,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7408,
          "delta": -0.2592,
          "percent_delta": -0.2592,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.282,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.358,
        "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_AVG",
          "before": 0.1587,
          "after": 0.225,
          "delta": 0.0663,
          "percent_delta": 0.4178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.233,
          "after": 0.0,
          "delta": -0.233,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7408,
          "after": 1.0,
          "delta": 0.2592,
          "percent_delta": 0.3499,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0925,
          "after": 0.0,
          "delta": -0.0925,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1973,
          "after": 0.282,
          "delta": 0.0847,
          "percent_delta": 0.4293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3187,
          "after": 0.0,
          "delta": -0.3187,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.317,
          "after": 0.358,
          "delta": 0.041,
          "percent_delta": 0.1293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4655,
          "after": 1.0,
          "delta": -0.4655,
          "percent_delta": -0.3176,
          "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.7408,
          "after": 1.0,
          "delta": 0.2592,
          "percent_delta": 0.3499,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4655,
          "after": 1.0,
          "delta": -0.4655,
          "percent_delta": -0.3176,
          "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.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.282,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.358,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Market blend not applied: no props for this hitter",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "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_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 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": 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.225,
        "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.282,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.358,
        "predicted_SO": 3.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.092,
        "after": 0.0,
        "delta": -0.092,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.842,
        "after": 3.0,
        "delta": 0.158,
        "percent_delta": 0.0556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.225,
        "delta": -0.047,
        "percent_delta": -0.1728,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.158,
        "after": 1.0,
        "delta": 0.842,
        "percent_delta": 5.3291,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.272,
        "after": 0.282,
        "delta": 0.01,
        "percent_delta": 0.0368,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.434,
        "after": 1.0,
        "delta": 0.566,
        "percent_delta": 1.3041,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.402,
        "after": 0.358,
        "delta": -0.044,
        "percent_delta": -0.1095,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.974,
        "after": 3.0,
        "delta": 2.026,
        "percent_delta": 2.0801,
        "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.974,
        "after": 3.0,
        "delta": 2.026,
        "percent_delta": 2.0801,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.092-
predicted_3B0.013-
predicted_AB2.842-
predicted_AVG0.272-
predicted_BB0.158-
predicted_H0.280-
predicted_HR0.060-
predicted_OBP0.272-
predicted_R0.434-
predicted_RBI0.140-
predicted_SLG0.402-
predicted_SO0.974-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.088-0.004
predicted_3B0.011-0.002
predicted_AB2.8670.025
predicted_AVG0.260-0.012
predicted_BB0.138-0.020
predicted_H0.4570.177
predicted_HBP0.003-
predicted_HR0.1150.055
predicted_OBP0.272-0.000
predicted_R0.4550.021
predicted_RBI0.2290.089
predicted_SLG0.4320.030
predicted_SO0.905-0.069
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0880.000
predicted_3B0.0110.000
predicted_AB2.8670.000
predicted_AVG0.159-0.101
predicted_BB0.1380.000
predicted_H0.455-0.002
predicted_HBP0.0030.000
predicted_HR0.114-0.000
predicted_OBP0.197-0.074
predicted_R0.453-0.003
predicted_RBI0.227-0.001
predicted_SLG0.317-0.115
predicted_SO0.903-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.87), rates preserved: AVG=0.149 HR/AB=0.040

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1400.140
3B0.0110.011
BB0.2330.233
H0.741-0.259
HR0.0920.092
RBI0.3190.319
SO1.4660.466
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.140
3B0.000-0.011
AB3.0000.000
AVG0.225-
BB0.000-0.233
H1.0000.259
HR0.000-0.092
OBP0.282-
R0.0000.000
RBI0.000-0.319
SLG0.358-
SO1.000-0.466
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.088
predicted_3B0.000-0.011
predicted_AB3.0000.133
predicted_AVG0.2250.066
predicted_BB0.000-0.138
predicted_H1.0000.545
predicted_HR0.000-0.114
predicted_OBP0.2820.085
predicted_R0.000-0.453
predicted_RBI0.000-0.227
predicted_SLG0.3580.041
predicted_SO1.0000.097
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Market blend not applied: no props for this hitter

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 76
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0003.0000.0000.0002.0003.0002.0000.0002.0000.25000.25000.75000.25000.16670.25000.00000.1667
last_100.2010-30.0008.0001.0000.0003.0004.0007.0000.0007.0000.26670.26670.60000.26670.10000.13330.00000.2333
season0.6076-216.00050.0007.0001.0006.00016.00033.00012.00074.0000.23150.27190.35650.23150.02780.07410.05560.3426
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0830
predicted_3B0.0090
predicted_AB2.9030
predicted_AVG0.2429
predicted_BB0.1090
predicted_H0.7050
predicted_HBP0.0030
predicted_HR0.1910
predicted_OBP0.2710
predicted_R0.4850
predicted_RBI0.3530
predicted_SLG0.4750
predicted_SO0.8080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09200.08300.0883model_form_blend
predicted_3B0.01300.00900.0113model_form_blend
predicted_AB2.84202.90302.8674model_form_blend
predicted_AVG0.27200.24290.2599model_form_blend
predicted_BB0.15800.10900.1376model_form_blend
predicted_H0.28000.70500.4568model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.06000.19100.1145model_form_blend
predicted_OBP0.27200.27100.2716model_form_blend
predicted_R0.43400.48500.4552model_form_blend
predicted_RBI0.14000.35300.2286model_form_blend
predicted_SLG0.40200.47500.4324model_form_blend
predicted_SO0.97400.80800.9049model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R1
RBI0
BB1
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_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261005_CHW@CLE
game_typeshort
mlbID686668
playerID686668
playerNameBrenton Doyle
posCF
startedFalse
startingPositionCF
teamCHW
teamID6
game_date2026-10-05
sl_k_percent32.7
sl_bb_percent5.4
sl_woba0.28
sl_xwoba0.245
sl_xba0.203
sl_xslg0.307
sl_sweet_spot_percent26.8
sl_barrel_batted_rate6.7
sl_hard_hit_percent35.5
sl_exit_velocity_avg89.1
sl_launch_angle_avg8.6
sl_whiff_percent32.5
sl_swing_percent54.5
Sean Burke (680732) · PITCHER · Starter · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 34
All-history rows before 20261010: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.8531.0001.1472.000
predicted_ER5.0005.0005.000Pitching_ER2.0001.0003.0004.000
predicted_H7.0007.0007.000Pitching_H4.3821.0002.6186.000
predicted_IP4.1004.1004.100Pitching_InningsPitched5.2065.100-1.106-1.000
predicted_SO5.0005.0005.000Pitching_SO5.8536.000-0.853-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics6
Boosted Metrics5
Deboosted Metrics1
Better Metrics1
Worse Metrics5
Biggest Boostpredicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse)
Biggest Deboostpredicted_IP: 5.0000 -> 4.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7starter_usage_guardrail11010predicted_IP: 5.0000 -> 6.0000 (boost 1.0000, better)-Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
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_realization65115predicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse)predicted_IP: 6.0000 -> 4.1000 (deboost -1.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": "680732",
  "player_name": "Sean Burke",
  "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": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "market_blend",
      "description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 9,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 2.0,
        "predicted_IP": 4.1,
        "predicted_R": 6.0,
        "predicted_SO": 5.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": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 7.0,
          "delta": 2.0,
          "percent_delta": 0.4,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 4.1,
          "delta": -1.9,
          "percent_delta": -0.3167,
          "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": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 5,
        "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_IP",
          "before": 6.0,
          "after": 4.1,
          "delta": -1.9,
          "percent_delta": -0.3167,
          "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": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 2.0,
        "predicted_IP": 4.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": 0.0,
        "after": 3.0,
        "delta": 3.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 5.0,
        "delta": 2.0,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 7.0,
        "delta": 2.0,
        "percent_delta": 0.4,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.1,
        "delta": -0.9,
        "percent_delta": -0.18,
        "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": 6,
      "boosted_metrics": 5,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 5,
      "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_IP",
        "before": 5.0,
        "after": 4.1,
        "delta": -0.9,
        "percent_delta": -0.18,
        "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_ER3.000-
predicted_H5.000-
predicted_HR1.000-
predicted_IP5.000-
predicted_SO3.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. starter_usage_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER3.0000.000
predicted_H5.0000.000
predicted_HR1.0000.000
predicted_IP6.0001.000
predicted_SO3.0000.000
8. market_blend

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

MetricValueDelta vs Prev Step
9. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB3.000-
BF25.000-
ER5.000-
H7.000-
HR2.000-
IP4.100-
Pitches101.000-
R6.000-
SO5.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: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45525.2006.00018.0007.00030.0004.0002.10390.97400.23380.70130.27271.16880.1558
last_100.351046.00023.00041.00024.00047.0007.0004.50001.41300.50000.89130.52171.02170.1522
season0.2034181.20068.000149.00063.000199.00022.0003.36881.16700.37430.82020.34681.09540.1211
Weighted Prediction From Real Data
MetricValue
predicted_BB1.8620
predicted_ER1.8610
predicted_ERA3.3797
predicted_H4.0470
predicted_HR0.7320
predicted_IP5.0000
predicted_SO5.3580
predicted_WHIP1.1921
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.86201.1094model_form_blend
predicted_ER3.00001.86102.3213model_form_blend
predicted_ERA-3.37973.3797form_only
predicted_H5.00004.04704.4322model_form_blend
predicted_HR1.00000.73200.8403model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO3.00005.35804.4050model_form_blend
predicted_WHIP-1.19211.1921form_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
IP4.1
H7
R6
ER5
BB3
SO5
HR2
BF25
Pitches101

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced18
Pitching_ER1
Pitching_ERA3.86
Pitching_Flyouts4
Pitching_Groundouts4
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches83
Pitching_R1
Pitching_SO6
Pitching_Strikes53
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261005_CHW@CLE
game_typefull
mlbID680732
playerID680732
playerNameSean Burke
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-10-05
sl_k_percent25.8
sl_bb_percent8.7
sl_woba0.302
sl_xwoba0.3
sl_sweet_spot_percent35.3
sl_barrel_batted_rate8.3
sl_hard_hit_percent38.8
sl_whiff_percent25.5
sl_swing_percent49.1
sl_avg_best_speed79.394902291
sl_avg_hyper_speed93.969692313
Sean Newcomb (656794) · PITCHER · Long Reliever · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 62
All-history rows before 20261010: 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.5651.000-0.565-1.000
predicted_ER0.0000.0000.000Pitching_ER0.5320.000-0.5320.000
predicted_H1.0001.0001.000Pitching_H1.2261.000-0.2260.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.3102.000-0.210-0.900
predicted_SO1.0001.0001.000Pitching_SO1.4033.000-0.403-2.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 withheld: values_fresh; 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": "656794",
  "player_name": "Sean Newcomb",
  "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": 2.0,
        "predicted_H": 2.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "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": 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_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": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "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_BB0.000-
predicted_ER2.000-
predicted_H2.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF5.000-
ER0.000-
H1.000-
HR0.000-
IP1.100-
Pitches18.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.333
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.4660
predicted_ER0.6440
predicted_ERA4.1816
predicted_H1.2510
predicted_HR0.1770
predicted_IP1.1000
predicted_SO1.4840
predicted_WHIP1.2391
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.46600.2624model_form_blend
predicted_ER2.00000.64401.2365model_form_blend
predicted_ERA-4.18164.1816form_only
predicted_H2.00001.25101.5783model_form_blend
predicted_HR1.00000.17700.5366model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.48401.2725model_form_blend
predicted_WHIP-1.23911.2391form_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.1
H1
R0
ER0
BB0
SO1
HR0
BF5
Pitches18

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
Noah Schultz (702273) · PITCHER · Long Reliever · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 14
All-history rows before 20261010: 14

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB2.2140.000-1.2141.000
predicted_ER0.0000.0000.000Pitching_ER3.0001.000-3.000-1.000
predicted_H0.0000.0000.000Pitching_H4.2143.000-4.214-3.000
predicted_IP2.0002.0002.000Pitching_InningsPitched4.4935.000-2.493-3.000
predicted_SO2.0002.0002.000Pitching_SO4.1434.000-2.143-2.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_IP: 0.1000 -> 2.0000 (boost 1.9000, better)
Biggest Deboostpredicted_H: 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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization53241predicted_IP: 0.1000 -> 2.0000 (boost 1.9000, better)predicted_H: 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": "702273",
  "player_name": "Noah Schultz",
  "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": 0.0,
        "predicted_IP": 0.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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_R": 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": "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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 2.0,
          "delta": 1.9,
          "percent_delta": 19.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": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 2.0,
          "delta": 1.9,
          "percent_delta": 19.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.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
      }
    }
  ],
  "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": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 2.0,
        "delta": 1.9,
        "percent_delta": 19.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": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 3,
      "deboosted_metrics": 2,
      "better_metrics": 4,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 2.0,
        "delta": 1.9,
        "percent_delta": 19.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "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_BB0.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP0.100-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB1.000-
BF7.000-
ER0.000-
H0.000-
HR0.000-
IP2.000-
Pitches26.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: 14
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45522.00014.00027.0005.00018.0004.0005.72731.45450.63641.22730.22730.81820.1818
last_100.351043.20036.00049.00019.00038.0008.0007.41981.55730.82441.12210.43510.87020.1832
season0.201465.00042.00059.00031.00058.0009.0005.81541.38460.64620.90770.47690.89230.1385
Weighted Prediction From Real Data
MetricValue
predicted_BB1.1930
predicted_ER2.1790
predicted_ERA5.8885
predicted_H3.6280
predicted_HR0.5550
predicted_IP3.1000
predicted_SO2.9060
predicted_WHIP1.4479
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.19300.6428model_form_blend
predicted_ER1.00002.17901.6352model_form_blend
predicted_ERA-5.88855.8885form_only
predicted_H2.00003.62802.8772model_form_blend
predicted_HR0.00000.55500.2990model_form_blend
predicted_IP0.10003.10002.0000model_form_blend
predicted_SO1.00002.90602.0269model_form_blend
predicted_WHIP-1.44791.4479form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H0
R0
ER0
BB1
SO2
HR0
BF7
Pitches26

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_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 Faced19
Pitching_ER1
Pitching_ERA5.82
Pitching_Flyouts4
Pitching_Groundouts6
Pitching_H3
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches67
Pitching_R1
Pitching_SO4
Pitching_Strikes47
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260801_CHW@TB
game_typefull
mlbID702273
playerID702273
playerNameNoah Schultz
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-01
game_pk822944.0
sl_k_percent20.7
sl_bb_percent9.6
sl_woba0.335
sl_xwoba0.358
sl_sweet_spot_percent38.7
sl_barrel_batted_rate9.7
sl_hard_hit_percent41.9
sl_whiff_percent21.0
sl_swing_percent45.2
sv_pitch_count67.0
sv_outs_recorded_est15.0
sv_release_speed91.74179104477612
sv_release_spin_rate2511.208955223881
sv_effective_speed91.2865671641791
sv_launch_speed79.81851851851852
sv_launch_angle5.851851851851852
sv_woba_value3.6
sv_woba_denom18.0
sv_delta_run_exp-1.756
sv_delta_home_win_exp-0.1209999999999999
sl_avg_best_speed78.222889528
sl_avg_hyper_speed94.448487488
Jordan Hicks (663855) · PITCHER · Middle Reliever · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 43
All-history rows before 20261010: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5810.000-0.5810.000
predicted_ER0.0000.0000.000Pitching_ER0.3953.000-0.395-3.000
predicted_H0.0000.0000.000Pitching_H0.8374.000-0.837-4.000
predicted_IP0.1000.1000.100Pitching_InningsPitched0.7841.000-0.684-0.900
predicted_SO0.0000.0000.000Pitching_SO1.1402.000-1.140-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_SO: 2.0000 -> 0.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization30312-predicted_SO: 2.0000 -> 0.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": "663855",
  "player_name": "Jordan Hicks",
  "position": "Middle 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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_R": 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": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 0.1,
          "delta": -0.9,
          "percent_delta": -0.9,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 0.1,
        "delta": -0.9,
        "percent_delta": -0.9,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 0,
      "deboosted_metrics": 3,
      "better_metrics": 1,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

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

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF1.000-
ER0.000-
H0.000-
HR0.000-
IP0.100-
Pitches2.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: 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.6180
predicted_ERA5.0826
predicted_H1.1420
predicted_HR0.1700
predicted_IP1.0000
predicted_SO1.3450
predicted_WHIP1.4938
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.49100.2410model_form_blend
predicted_ER0.00000.61800.3033model_form_blend
predicted_ERA-5.08265.0826form_only
predicted_H1.00001.14201.0697model_form_blend
predicted_HR0.00000.17000.0834model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.34501.6785model_form_blend
predicted_WHIP-1.49381.4938form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.1
H0
R0
ER0
BB0
SO0
HR0
BF1
Pitches2

Latest Real Data Snapshot (before report date)

Latest 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

Home Team: CLE

Home Pitcher Deep Analysis

FieldValue
PitcherGavin Williams
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2212
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0624
Avg Velo90.9785
Avg Spin2292.1975
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER1
Pre H2
Pre BB4
Pre SO10
Season ERA3.7356
Season WHIP1.1191
Role Avg IP5.7370
Recent Avg IP5.2670
Last Start IP5
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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "defense_index": 1.0098,
    "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.0675,
    "opponent_offense_edge": 0.0673,
    "defense_strength": 0.0901,
    "opponent_defense_weakness": -0.0098,
    "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": "668909",
    "profile": {
      "available": true,
      "pitcher_id": "668909",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 700.0,
        "k_percent": 33.2,
        "bb_percent": 8.2,
        "woba": 0.294,
        "xwoba": 0.302,
        "sweet_spot_percent": 35.0,
        "barrel_batted_rate": 11.4,
        "hard_hit_percent": 46.6,
        "avg_best_speed": 79.2974,
        "avg_hyper_speed": 94.9953,
        "whiff_percent": 32.8,
        "swing_percent": 49.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1041,
        "command_and_miss": 1.1436,
        "regression_edge": -0.2286,
        "xwoba_edge": 0.2857,
        "barrel_edge": -0.9333,
        "hard_hit_edge": -1.2429,
        "whiff_edge": 1.0857,
        "bb_edge": 0.25,
        "pitch_design_score": 0.0624
      },
      "quality_score": 0.2212,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9812,
      "strikeout_factor": 1.1069,
      "walk_factor": 0.98,
      "homer_factor": 1.1158,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "668909",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9812,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9812,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.98,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.1158,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.1069,
        "adjusted": 9
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 45.2,
    "ER": 22,
    "H": 40,
    "BB": 23,
    "SO": 75,
    "HR": 6,
    "ERA": 4.335766423357664,
    "WHIP": 1.3795620437956202,
    "K9": 14.781021897810218,
    "HR9": 1.1824817518248174,
    "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-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "668909",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 106,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 106,
    "pitch_usage": 0.0,
    "release_speed": 90.97845935651245,
    "release_spin_rate": 2292.19753528252,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 106,
      "pitch_usage": 0.0,
      "release_speed": 90.97845935651245,
      "release_spin_rate": 2292.19753528252,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 90.9785,
    "release_spin_rate": 2292.1975,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0624,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4457,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 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": "668909",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 34,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 21.1,
        "ER": 8.0,
        "R": 8.0,
        "H": 17.0,
        "BB": 11.0,
        "SO": 32.0,
        "HR": 1.0,
        "BF": 90.0,
        "Pitches": 392.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 1.6,
        "R": 1.6,
        "H": 3.4,
        "BB": 2.2,
        "SO": 6.4,
        "HR": 0.2,
        "BF": 18.0,
        "Pitches": 78.4
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.3125,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.79688,
        "BB_per_IP": 0.51562,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.04688
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 45.2,
        "ER": 22.0,
        "R": 23.0,
        "H": 40.0,
        "BB": 23.0,
        "SO": 75.0,
        "HR": 6.0,
        "BF": 198.0,
        "Pitches": 837.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.2,
        "R": 2.3,
        "H": 4.0,
        "BB": 2.3,
        "SO": 7.5,
        "HR": 0.6,
        "BF": 19.8,
        "Pitches": 83.7
      },
      "rates": {
        "ERA": 4.3358,
        "WHIP": 1.3796,
        "ER_per_IP": 0.48175,
        "H_per_IP": 0.87591,
        "BB_per_IP": 0.50365,
        "SO_per_IP": 1.64234,
        "HR_per_IP": 0.13139
      }
    },
    "season": {
      "games": 34,
      "totals": {
        "IP": 190.1,
        "ER": 79.0,
        "R": 83.0,
        "H": 149.0,
        "BB": 64.0,
        "SO": 260.0,
        "HR": 28.0,
        "BF": 771.0,
        "Pitches": 3107.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.3235,
        "R": 2.4412,
        "H": 4.3824,
        "BB": 1.8824,
        "SO": 7.6471,
        "HR": 0.8235,
        "BF": 22.6765,
        "Pitches": 91.3824
      },
      "rates": {
        "ERA": 3.7356,
        "WHIP": 1.1191,
        "ER_per_IP": 0.41506,
        "H_per_IP": 0.78284,
        "BB_per_IP": 0.33625,
        "SO_per_IP": 1.36602,
        "HR_per_IP": 0.14711
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 2.074,
    "predicted_H": 4.042,
    "predicted_BB": 2.223,
    "predicted_SO": 6.941,
    "predicted_HR": 0.494,
    "predicted_ERA": 3.8922,
    "predicted_WHIP": 1.3063
  }
}
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": 5.1,
      "form": 4.2,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 2.074,
      "final": 2.8524,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 9.0,
      "form": 4.042,
      "final": 6.0458,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 2.223,
      "final": 2.1329,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 6.941,
      "final": 6.9648,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.494,
      "final": 0.6985,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8922,
      "final": 3.8922,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3063,
      "final": 1.3063,
      "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 IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.8983
Season WHIP1.2881
Role Avg IP0.8430
Recent Avg IP0.8000
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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "defense_index": 1.0098,
    "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.0675,
    "opponent_offense_edge": 0.0673,
    "defense_strength": 0.0901,
    "opponent_defense_weakness": -0.0098,
    "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": 8.0,
    "ER": 2,
    "H": 10,
    "BB": 4,
    "SO": 11,
    "HR": 0,
    "ERA": 2.25,
    "WHIP": 1.75,
    "K9": 12.375,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "682120",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.199,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7093,
    "prior_weight": 0.2907
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682120",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 70,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 84.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 16.8
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.5,
        "ER_per_IP": 0.25,
        "H_per_IP": 1.25,
        "BB_per_IP": 0.25,
        "SO_per_IP": 1.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 2.0,
        "R": 4.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 180.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.75,
        "ER_per_IP": 0.25,
        "H_per_IP": 1.25,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.375,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 70,
      "totals": {
        "IP": 59.0,
        "ER": 19.0,
        "R": 22.0,
        "H": 47.0,
        "BB": 29.0,
        "SO": 58.0,
        "HR": 5.0,
        "BF": 250.0,
        "Pitches": 1028.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2714,
        "R": 0.3143,
        "H": 0.6714,
        "BB": 0.4143,
        "SO": 0.8286,
        "HR": 0.0714,
        "BF": 3.5714,
        "Pitches": 14.6857
      },
      "rates": {
        "ERA": 2.8983,
        "WHIP": 1.2881,
        "ER_per_IP": 0.32203,
        "H_per_IP": 0.79661,
        "BB_per_IP": 0.49153,
        "SO_per_IP": 0.98305,
        "HR_per_IP": 0.08475
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.241,
    "predicted_H": 0.792,
    "predicted_BB": 0.275,
    "predicted_SO": 0.936,
    "predicted_HR": 0.039,
    "predicted_ERA": 3.0345,
    "predicted_WHIP": 1.4936
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4728,
  "form_weight": 0.5272,
  "form_reliability": 0.7093,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.199,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7093,
    "prior_weight": 0.2907
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.241,
      "final": 0.5999,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.792,
      "final": 0.4175,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.275,
      "final": 0.145,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.936,
      "final": 0.4934,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.039,
      "final": 0.0206,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0345,
      "final": 3.0345,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4936,
      "final": 1.4936,
      "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
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0342
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA2.7692
Season WHIP1.1282
Role Avg IP0.9290
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9325,
    "defense_index": 1.0901,
    "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.0673,
    "defense_index": 1.0098,
    "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.0675,
    "opponent_offense_edge": 0.0673,
    "defense_strength": 0.0901,
    "opponent_defense_weakness": -0.0098,
    "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.0
      },
      "quality_score": -0.0342,
      "sample_weight": 0.576,
      "run_prevention_factor": 1.0029,
      "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.0017,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0017,
        "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": 9.1,
    "ER": 3,
    "H": 5,
    "BB": 3,
    "SO": 10,
    "HR": 0,
    "ERA": 2.8928571428571432,
    "WHIP": 0.8571428571428572,
    "K9": 9.642857142857144,
    "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-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "542888",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.064,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6173,
    "prior_weight": 0.3827
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "542888",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.1765,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.17647,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.88235,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 36.0,
        "Pitches": 140.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.5,
        "BB": 0.3,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 2.8929,
        "WHIP": 0.8571,
        "ER_per_IP": 0.32143,
        "H_per_IP": 0.53571,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 39.0,
        "ER": 12.0,
        "R": 13.0,
        "H": 27.0,
        "BB": 17.0,
        "SO": 38.0,
        "HR": 3.0,
        "BF": 158.0,
        "Pitches": 645.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2857,
        "R": 0.3095,
        "H": 0.6429,
        "BB": 0.4048,
        "SO": 0.9048,
        "HR": 0.0714,
        "BF": 3.7619,
        "Pitches": 15.3571
      },
      "rates": {
        "ERA": 2.7692,
        "WHIP": 1.1282,
        "ER_per_IP": 0.30769,
        "H_per_IP": 0.69231,
        "BB_per_IP": 0.4359,
        "SO_per_IP": 0.97436,
        "HR_per_IP": 0.07692
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.304,
    "predicted_H": 0.628,
    "predicted_BB": 0.269,
    "predicted_SO": 0.954,
    "predicted_HR": 0.066,
    "predicted_ERA": 2.7396,
    "predicted_WHIP": 0.8969
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5117,
  "form_weight": 0.4883,
  "form_reliability": 0.6173,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.064,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6173,
    "prior_weight": 0.3827
  },
  "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.1484,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.628,
      "final": 0.3067,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.269,
      "final": 0.1314,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.954,
      "final": 0.9775,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.066,
      "final": 0.0322,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7396,
      "final": 2.7396,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8969,
      "final": 0.8969,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDaniel Espino
RoleMiddle Reliever (High Leverage)
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 IP1
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA4.3200
Season WHIP1.4400
Role Avg IP1
Recent Avg IP0.8000
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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "defense_index": 1.0098,
    "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.0675,
    "opponent_offense_edge": 0.0673,
    "defense_strength": 0.0901,
    "opponent_defense_weakness": -0.0098,
    "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": 0.0,
        "factor": 0.9847,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9847,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0065,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0076,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0324,
        "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": 10.2,
    "ER": 5,
    "H": 10,
    "BB": 5,
    "SO": 15,
    "HR": 2,
    "ERA": 4.21875,
    "WHIP": 1.40625,
    "K9": 12.65625,
    "HR9": 1.6875,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-07T00: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": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "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": 12,
      "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.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.408,
    "prior_weight": 0.592
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682982",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 16,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 4.0,
        "BB": 5.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 21.0,
        "Pitches": 89.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 0.8,
        "BB": 1.0,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 17.8
      },
      "rates": {
        "ERA": 8.3077,
        "WHIP": 2.0769,
        "ER_per_IP": 0.92308,
        "H_per_IP": 0.92308,
        "BB_per_IP": 1.15385,
        "SO_per_IP": 1.38462,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 10.0,
        "BB": 5.0,
        "SO": 15.0,
        "HR": 2.0,
        "BF": 46.0,
        "Pitches": 185.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 1.0,
        "BB": 0.5,
        "SO": 1.5,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 18.5
      },
      "rates": {
        "ERA": 4.2188,
        "WHIP": 1.4062,
        "ER_per_IP": 0.46875,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.46875,
        "SO_per_IP": 1.40625,
        "HR_per_IP": 0.1875
      }
    },
    "season": {
      "games": 16,
      "totals": {
        "IP": 16.2,
        "ER": 8.0,
        "R": 8.0,
        "H": 15.0,
        "BB": 9.0,
        "SO": 27.0,
        "HR": 3.0,
        "BF": 73.0,
        "Pitches": 305.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 0.9375,
        "BB": 0.5625,
        "SO": 1.6875,
        "HR": 0.1875,
        "BF": 4.5625,
        "Pitches": 19.0625
      },
      "rates": {
        "ERA": 4.32,
        "WHIP": 1.44,
        "ER_per_IP": 0.48,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.54,
        "SO_per_IP": 1.62,
        "HR_per_IP": 0.18
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.58,
    "predicted_H": 0.96,
    "predicted_BB": 0.549,
    "predicted_SO": 1.14,
    "predicted_HR": 0.171,
    "predicted_ERA": 5.2225,
    "predicted_WHIP": 1.5093
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6001,
  "form_weight": 0.3999,
  "form_reliability": 0.408,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.408,
    "prior_weight": 0.592
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.58,
      "final": 0.2319,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.96,
      "final": 0.3839,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.549,
      "final": 0.8197,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.14,
      "final": 0.4559,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.171,
      "final": 0.0684,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.2225,
      "final": 5.2225,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5093,
      "final": 1.5093,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherHunter Gaddis
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1344
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA2.7000
Season WHIP1.2000
Role Avg IP0.8920
Recent Avg IP0.8000
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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "defense_index": 1.0098,
    "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.0675,
    "opponent_offense_edge": 0.0673,
    "defense_strength": 0.0901,
    "opponent_defense_weakness": -0.0098,
    "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": "683769",
    "profile": {
      "available": true,
      "pitcher_id": "683769",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 230.0,
        "k_percent": 22.2,
        "bb_percent": 8.6,
        "woba": 0.3,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.7,
        "barrel_batted_rate": 7.5,
        "hard_hit_percent": 29.9,
        "avg_best_speed": 75.513,
        "avg_hyper_speed": 92.3528,
        "whiff_percent": 29.5,
        "swing_percent": 51.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2002,
        "command_and_miss": 0.2514,
        "regression_edge": -0.3143,
        "xwoba_edge": 0.0286,
        "barrel_edge": -0.0667,
        "hard_hit_edge": 1.1429,
        "whiff_edge": 0.6143,
        "bb_edge": 0.15,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.1344,
      "sample_weight": 0.92,
      "run_prevention_factor": 0.9886,
      "strikeout_factor": 1.0231,
      "walk_factor": 0.989,
      "homer_factor": 0.9621,
      "woba_minus_xwoba": -0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "683769",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9895,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9895,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9899,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9651,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0213,
        "adjusted": 2
      }
    }
  },
  "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.2,
    "ER": 3,
    "H": 12,
    "BB": 1,
    "SO": 6,
    "HR": 2,
    "ERA": 3.1153846153846154,
    "WHIP": 1.5,
    "K9": 6.230769230769231,
    "HR9": 2.076923076923077,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "683769",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.095,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7237,
    "prior_weight": 0.2763
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "683769",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 71,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 0.0,
        "SO": 2.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 62.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.0,
        "SO": 0.4,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 12.4
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.5,
        "ER_per_IP": 0.5,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.5,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 12.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 39.0,
        "Pitches": 143.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 1.2,
        "BB": 0.1,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.9,
        "Pitches": 14.3
      },
      "rates": {
        "ERA": 3.1154,
        "WHIP": 1.5,
        "ER_per_IP": 0.34615,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.11538,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.23077
      }
    },
    "season": {
      "games": 71,
      "totals": {
        "IP": 63.1,
        "ER": 19.0,
        "R": 19.0,
        "H": 56.0,
        "BB": 20.0,
        "SO": 59.0,
        "HR": 7.0,
        "BF": 267.0,
        "Pitches": 1016.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2676,
        "R": 0.2676,
        "H": 0.7887,
        "BB": 0.2817,
        "SO": 0.831,
        "HR": 0.0986,
        "BF": 3.7606,
        "Pitches": 14.3099
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 1.2,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.88421,
        "BB_per_IP": 0.31579,
        "SO_per_IP": 0.93158,
        "HR_per_IP": 0.11053
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.389,
    "predicted_H": 1.105,
    "predicted_BB": 0.161,
    "predicted_SO": 0.652,
    "predicted_HR": 0.175,
    "predicted_ERA": 3.9253,
    "predicted_WHIP": 1.42
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4667,
  "form_weight": 0.5333,
  "form_reliability": 0.7237,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.095,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7237,
    "prior_weight": 0.2763
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.389,
      "final": 0.2074,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.105,
      "final": 0.5893,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.161,
      "final": 0.5526,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.652,
      "final": 0.8144,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.175,
      "final": 0.0933,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9253,
      "final": 3.9253,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.42,
      "final": 1.42,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherTanner Bibee
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1841
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1382
Avg Velo87.3966
Avg Spin2309.0609
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER3
Pre H3
Pre BB0
Pre SO1
Season ERA4.4442
Season WHIP1.2319
Role Avg IP0.3330
Recent Avg IP0.3330
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.9325,
    "defense_index": 1.0901,
    "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.0673,
    "defense_index": 1.0098,
    "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.0675,
    "opponent_offense_edge": 0.0673,
    "defense_strength": 0.0901,
    "opponent_defense_weakness": -0.0098,
    "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": "676440",
    "profile": {
      "available": true,
      "pitcher_id": "676440",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 698.0,
        "k_percent": 19.0,
        "bb_percent": 7.1,
        "woba": 0.316,
        "xwoba": 0.32,
        "sweet_spot_percent": 35.4,
        "barrel_batted_rate": 8.5,
        "hard_hit_percent": 39.3,
        "avg_best_speed": 78.4883,
        "avg_hyper_speed": 93.9015,
        "whiff_percent": 23.6,
        "swing_percent": 47.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": -0.2078,
        "command_and_miss": -0.1743,
        "regression_edge": -0.1143,
        "xwoba_edge": -0.2286,
        "barrel_edge": -0.2889,
        "hard_hit_edge": -0.2,
        "whiff_edge": -0.2286,
        "bb_edge": 0.525,
        "pitch_design_score": -0.1382
      },
      "quality_score": -0.1841,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0157,
      "strikeout_factor": 0.9731,
      "walk_factor": 0.958,
      "homer_factor": 1.038,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676440",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0157,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0157,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.958,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.038,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9731,
        "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": 50.1,
    "ER": 34,
    "H": 57,
    "BB": 19,
    "SO": 39,
    "HR": 6,
    "ERA": 6.079470198675496,
    "WHIP": 1.509933774834437,
    "K9": 6.973509933774834,
    "HR9": 1.0728476821192052,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 2,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676440",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 82,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 82,
    "pitch_usage": 0.0,
    "release_speed": 87.39659142983948,
    "release_spin_rate": 2309.0608700163434,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 82,
      "pitch_usage": 0.0,
      "release_speed": 87.39659142983948,
      "release_spin_rate": 2309.0608700163434,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "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.3966,
    "release_spin_rate": 2309.0609,
    "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.1382,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.987,
    "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": "676440",
  "report_date": "20261010",
  "season_year": 2026,
  "rows_used": 34,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 22.0,
        "ER": 18.0,
        "R": 18.0,
        "H": 29.0,
        "BB": 6.0,
        "SO": 17.0,
        "HR": 3.0,
        "BF": 99.0,
        "Pitches": 362.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 3.6,
        "R": 3.6,
        "H": 5.8,
        "BB": 1.2,
        "SO": 3.4,
        "HR": 0.6,
        "BF": 19.8,
        "Pitches": 72.4
      },
      "rates": {
        "ERA": 7.3636,
        "WHIP": 1.5909,
        "ER_per_IP": 0.81818,
        "H_per_IP": 1.31818,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 0.77273,
        "HR_per_IP": 0.13636
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 50.1,
        "ER": 34.0,
        "R": 35.0,
        "H": 57.0,
        "BB": 19.0,
        "SO": 39.0,
        "HR": 6.0,
        "BF": 224.0,
        "Pitches": 832.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 3.4,
        "R": 3.5,
        "H": 5.7,
        "BB": 1.9,
        "SO": 3.9,
        "HR": 0.6,
        "BF": 22.4,
        "Pitches": 83.2
      },
      "rates": {
        "ERA": 6.0795,
        "WHIP": 1.5099,
        "ER_per_IP": 0.6755,
        "H_per_IP": 1.13245,
        "BB_per_IP": 0.37748,
        "SO_per_IP": 0.77483,
        "HR_per_IP": 0.11921
      }
    },
    "season": {
      "games": 34,
      "totals": {
        "IP": 188.1,
        "ER": 93.0,
        "R": 97.0,
        "H": 175.0,
        "BB": 57.0,
        "SO": 149.0,
        "HR": 29.0,
        "BF": 783.0,
        "Pitches": 2983.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.7353,
        "R": 2.8529,
        "H": 5.1471,
        "BB": 1.6765,
        "SO": 4.3824,
        "HR": 0.8529,
        "BF": 23.0294,
        "Pitches": 87.7353
      },
      "rates": {
        "ERA": 4.4442,
        "WHIP": 1.2319,
        "ER_per_IP": 0.49381,
        "H_per_IP": 0.9292,
        "BB_per_IP": 0.30265,
        "SO_per_IP": 0.79115,
        "HR_per_IP": 0.15398
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.1,
    "predicted_ER": 2.891,
    "predicted_H": 4.9,
    "predicted_BB": 1.379,
    "predicted_SO": 3.393,
    "predicted_HR": 0.577,
    "predicted_ERA": 6.1126,
    "predicted_WHIP": 1.475
  }
}
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": 0.1,
      "form": 4.1,
      "final": 2.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 2.891,
      "final": 1.7226,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 4.9,
      "final": 2.9196,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.379,
      "final": 1.2258,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 3.393,
      "final": 2.4258,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.577,
      "final": 0.3438,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.1126,
      "final": 6.1126,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.475,
      "final": 1.475,
      "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 · LF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 610
All-history rows before 20261010: 610
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2843
Diff (system - data): -0.0043
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.1410.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0200.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB4.5704.0004.000Hitting_AB3.7253.0000.2751.000
predicted_AVG0.2760.5000.500Hitting_AVG0.2840.3330.2160.167
predicted_BB0.5701.0001.000Hitting_BB0.5922.0000.408-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H1.2602.0002.000Hitting_H1.0591.0000.9411.000
predicted_HR0.0200.0000.000Hitting_HR0.0230.000-0.0230.000
predicted_OBP0.3830.6000.600Hitting_OBP0.3840.6000.2160.000
predicted_R0.5501.0001.000Hitting_R0.6082.0000.392-1.000
predicted_RBI0.2800.0000.000Hitting_RBI0.2390.000-0.2390.000
predicted_SLG0.3410.5000.500Hitting_SLG0.3510.3330.1490.167
predicted_SO0.3890.0000.000Hitting_SO0.4230.000-0.4230.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.2600 -> 2.0000 (boost 0.7400, better)
Biggest Deboostpredicted_AB: 4.5700 -> 4.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_blend42222predicted_SLG: 0.3410 -> 0.3510 (boost 0.0100, better)predicted_AB: 4.5700 -> 4.2097 (deboost -0.3603, worse)Final model input calibrated 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.3876 -> 0.3697 (deboost -0.0179, 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_BB: 0.5999 -> 1.0000 (boost 0.4001, better)predicted_SO: 0.3772 -> 0.0000 (deboost -0.3772, better)AB rounded to 4 (raw=4.57), rates preserved: AVG=0.245 HR/AB=0.004
6consistency_constraints11010predicted_R: 0.5694 -> 1.0000 (boost 0.4306, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53223predicted_SO: 0.0000 -> 0.5039 (boost 0.5039, worse)predicted_BB: 1.0000 -> 0.5863 (deboost -0.4137, 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_BB: 0.5863 -> 1.0000 (boost 0.4137, better)predicted_SO: 0.5039 -> 0.0000 (deboost -0.5039, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization11010predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final21111predicted_SLG: 0.3260 -> 0.3320 (boost 0.0060, better)predicted_OBP: 0.3430 -> 0.3320 (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": "680757",
  "player_name": "Steven Kwan",
  "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.141,
        "predicted_3B": 0.02,
        "predicted_AB": 4.57,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.57,
        "predicted_H": 1.26,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.383,
        "predicted_R": 0.55,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.341,
        "predicted_SO": 0.389
      },
      "changed_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.1192,
        "predicted_3B": 0.0405,
        "predicted_AB": 4.2097,
        "predicted_AVG": 0.2819,
        "predicted_BB": 0.6014,
        "predicted_H": 1.1831,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0191,
        "predicted_OBP": 0.3876,
        "predicted_R": 0.5731,
        "predicted_RBI": 0.2717,
        "predicted_SLG": 0.351,
        "predicted_SO": 0.3763
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.57,
          "after": 4.2097,
          "delta": -0.3603,
          "percent_delta": -0.0788,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2819,
          "delta": 0.0059,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.26,
          "after": 1.1831,
          "delta": -0.0769,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.341,
          "after": 0.351,
          "delta": 0.01,
          "percent_delta": 0.0293,
          "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_SLG",
          "before": 0.341,
          "after": 0.351,
          "delta": 0.01,
          "percent_delta": 0.0293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.57,
          "after": 4.2097,
          "delta": -0.3603,
          "percent_delta": -0.0788,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 149
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1192,
        "predicted_3B": 0.0405,
        "predicted_AB": 4.2097,
        "predicted_AVG": 0.2798,
        "predicted_BB": 0.5999,
        "predicted_H": 1.178,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0189,
        "predicted_OBP": 0.3697,
        "predicted_R": 0.5694,
        "predicted_RBI": 0.2699,
        "predicted_SLG": 0.3409,
        "predicted_SO": 0.3772
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3876,
          "after": 0.3697,
          "delta": -0.0179,
          "percent_delta": -0.0462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.3409,
          "delta": -0.0101,
          "percent_delta": -0.0288,
          "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.3876,
          "after": 0.3697,
          "delta": -0.0179,
          "percent_delta": -0.0462,
          "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.57), rates preserved: AVG=0.245 HR/AB=0.004",
      "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.1192,
          "after": 0.0,
          "delta": -0.1192,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.2097,
          "after": 4.0,
          "delta": -0.2097,
          "percent_delta": -0.0498,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5999,
          "after": 1.0,
          "delta": 0.4001,
          "percent_delta": 0.6669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.178,
          "after": 1.0,
          "delta": -0.178,
          "percent_delta": -0.1511,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.3772,
          "after": 0.0,
          "delta": -0.3772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5999,
          "after": 1.0,
          "delta": 0.4001,
          "percent_delta": 0.6669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3772,
          "after": 0.0,
          "delta": -0.3772,
          "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.5694,
          "after": 1.0,
          "delta": 0.4306,
          "percent_delta": 0.7562,
          "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.5694,
          "after": 1.0,
          "delta": 0.4306,
          "percent_delta": 0.7562,
          "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.1701,
        "predicted_3B": 0.0143,
        "predicted_BB": 0.5863,
        "predicted_H": 0.9336,
        "predicted_HR": 0.0474,
        "predicted_RBI": 0.2751,
        "predicted_SO": 0.5039
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1701,
          "delta": 0.1701,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5863,
          "delta": -0.4137,
          "percent_delta": -0.4137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9336,
          "delta": -0.0664,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.2751,
          "delta": 0.2751,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5039,
          "delta": 0.5039,
          "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_SO",
          "before": 0.0,
          "after": 0.5039,
          "delta": 0.5039,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5863,
          "delta": -0.4137,
          "percent_delta": -0.4137,
          "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.239,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.343,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.326,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1701,
          "after": 0.0,
          "delta": -0.1701,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2798,
          "after": 0.239,
          "delta": -0.0408,
          "percent_delta": -0.1458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5863,
          "after": 1.0,
          "delta": 0.4137,
          "percent_delta": 0.7056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9336,
          "after": 1.0,
          "delta": 0.0664,
          "percent_delta": 0.0711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3697,
          "after": 0.343,
          "delta": -0.0267,
          "percent_delta": -0.0722,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2751,
          "after": 0.0,
          "delta": -0.2751,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3409,
          "after": 0.326,
          "delta": -0.0149,
          "percent_delta": -0.0437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5039,
          "after": 0.0,
          "delta": -0.5039,
          "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_BB",
          "before": 0.5863,
          "after": 1.0,
          "delta": 0.4137,
          "percent_delta": 0.7056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5039,
          "after": 0.0,
          "delta": -0.5039,
          "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.239,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.343,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.326,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.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_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.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_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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.243,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 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.332,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.332,
          "delta": -0.011,
          "percent_delta": -0.0321,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.326,
          "after": 0.332,
          "delta": 0.006,
          "percent_delta": 0.0184,
          "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.326,
          "after": 0.332,
          "delta": 0.006,
          "percent_delta": 0.0184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.332,
          "delta": -0.011,
          "percent_delta": -0.0321,
          "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.141,
        "after": 0.0,
        "delta": -0.141,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.57,
        "after": 4.0,
        "delta": -0.57,
        "percent_delta": -0.1247,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.243,
        "delta": -0.033,
        "percent_delta": -0.1196,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.57,
        "after": 1.0,
        "delta": 0.43,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 2.0,
        "delta": 0.74,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.383,
        "after": 0.332,
        "delta": -0.051,
        "percent_delta": -0.1332,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.55,
        "after": 1.0,
        "delta": 0.45,
        "percent_delta": 0.8182,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.341,
        "after": 0.332,
        "delta": -0.009,
        "percent_delta": -0.0264,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "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.26,
        "after": 2.0,
        "delta": 0.74,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.57,
        "after": 4.0,
        "delta": -0.57,
        "percent_delta": -0.1247,
        "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.141-
predicted_3B0.020-
predicted_AB4.570-
predicted_AVG0.276-
predicted_BB0.570-
predicted_H1.260-
predicted_HR0.020-
predicted_OBP0.383-
predicted_R0.550-
predicted_RBI0.280-
predicted_SLG0.341-
predicted_SO0.389-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.022
predicted_3B0.0410.021
predicted_AB4.210-0.360
predicted_AVG0.2820.006
predicted_BB0.6010.031
predicted_H1.183-0.077
predicted_HBP0.013-
predicted_HR0.019-0.001
predicted_OBP0.3880.005
predicted_R0.5730.023
predicted_RBI0.272-0.008
predicted_SLG0.3510.010
predicted_SO0.376-0.013
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1190.000
predicted_3B0.0410.000
predicted_AB4.2100.000
predicted_AVG0.280-0.002
predicted_BB0.600-0.002
predicted_H1.178-0.005
predicted_HBP0.0130.000
predicted_HR0.019-0.000
predicted_OBP0.370-0.018
predicted_R0.569-0.004
predicted_RBI0.270-0.002
predicted_SLG0.341-0.010
predicted_SO0.3770.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.57), rates preserved: AVG=0.245 HR/AB=0.004

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.1700.170
3B0.0140.014
BB0.586-0.414
H0.934-0.066
HR0.0470.047
RBI0.2750.275
SO0.5040.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.170
3B0.000-0.014
AB4.0000.000
AVG0.239-
BB1.0000.414
H1.0000.066
HR0.000-0.047
OBP0.343-
R1.0000.000
RBI0.000-0.275
SLG0.326-
SO0.000-0.504
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.041
predicted_AB4.000-0.210
predicted_AVG0.239-0.041
predicted_BB1.0000.400
predicted_H1.000-0.178
predicted_HR0.000-0.019
predicted_OBP0.343-0.027
predicted_R1.0000.431
predicted_RBI0.000-0.270
predicted_SLG0.326-0.015
predicted_SO0.000-0.377
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

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

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.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
H2.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: 149
Reference playing time: 4.570
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0006.0000.0001.0000.0002.0004.0004.0001.0000.30000.41670.40000.30000.00000.10000.20000.0500
last_100.2010-38.00012.0000.0001.0000.0002.0006.0008.0003.0000.31580.43480.36840.31580.00000.05260.21050.0790
season0.60149-542.000152.00021.0003.0003.00033.00082.00085.00058.0000.28040.37910.34690.28040.00550.06090.15680.1070
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0910
predicted_3B0.0670
predicted_AB3.7450
predicted_AVG0.2894
predicted_BB0.6420
predicted_H1.0840
predicted_HBP0.0130
predicted_HR0.0180
predicted_OBP0.3936
predicted_R0.6030
predicted_RBI0.2610
predicted_SLG0.3639
predicted_SO0.3600
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14100.09100.1192model_form_blend
predicted_3B0.02000.06700.0405model_form_blend
predicted_AB4.57003.74504.2097model_form_blend
predicted_AVG0.27600.28940.2819model_form_blend
predicted_BB0.57000.64200.6014model_form_blend
predicted_H1.26001.08401.1831model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.02000.01800.0191model_form_blend
predicted_OBP0.38300.39360.3876model_form_blend
predicted_R0.55000.60300.5731model_form_blend
predicted_RBI0.28000.26100.2717model_form_blend
predicted_SLG0.34100.36390.3510model_form_blend
predicted_SO0.38900.36000.3763model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H2
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_AB3
Hitting_AVG0.333
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
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-LF
gameID20261008_CLE@CHW
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posLF
startedTrue
startingPositionCF
teamCLE
teamID8
game_date2026-10-08
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 20261010: 513
All-history rows before 20261010: 513
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2351
Diff (system - data): -0.0001
System opponent_avg: 0.1640

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2240.0000.000Hitting_2B0.2400.000-0.2400.000
predicted_3B0.0080.0000.000Hitting_3B0.0020.000-0.0020.000
predicted_AB4.9905.0005.000Hitting_AB3.8305.0001.1700.000
predicted_AVG0.2490.2000.200Hitting_AVG0.2350.400-0.035-0.200
predicted_BB0.4960.0000.000Hitting_BB0.5170.000-0.5170.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H1.2401.0001.000Hitting_H0.9012.0000.099-1.000
predicted_HR0.1901.0001.000Hitting_HR0.1011.0000.8990.000
predicted_OBP0.3310.2000.200Hitting_OBP0.3270.400-0.127-0.200
predicted_R0.5921.0001.000Hitting_R0.5872.0000.413-1.000
predicted_RBI0.7701.0001.000Hitting_RBI0.4743.0000.526-2.000
predicted_SLG0.4180.8000.800Hitting_SLG0.3781.0000.422-0.200
predicted_SO0.5681.0001.000Hitting_SO0.5690.0000.4311.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_HR: 0.1900 -> 1.0000 (boost 0.8100, better)
Biggest Deboostpredicted_BB: 0.4960 -> 0.0000 (deboost -0.4960, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_R: 0.5920 -> 0.6633 (boost 0.0713, better)predicted_AB: 4.9900 -> 4.5074 (deboost -0.4826, worse)Final model input calibrated 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.3258 -> 0.3168 (deboost -0.0090, 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.5733 -> 1.0000 (boost 0.4267, worse)predicted_AB: 4.5074 -> 4.0000 (deboost -0.5074, worse)AB rounded to 4 (raw=4.99), rates preserved: AVG=0.207 HR/AB=0.032
6consistency_constraints11010predicted_R: 0.6590 -> 1.0000 (boost 0.3410, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.5153 (boost 0.5153, better)predicted_RBI: 1.0000 -> 0.4487 (deboost -0.5513, 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_2B: 0.2044 -> 1.0000 (boost 0.7956, better)predicted_HR: 0.1035 -> 0.0000 (deboost -0.1035, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization42222predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_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.224,
        "predicted_3B": 0.008,
        "predicted_AB": 4.99,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.496,
        "predicted_H": 1.24,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.331,
        "predicted_R": 0.592,
        "predicted_RBI": 0.77,
        "predicted_SLG": 0.418,
        "predicted_SO": 0.568
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2192,
        "predicted_3B": 0.031,
        "predicted_AB": 4.5074,
        "predicted_AVG": 0.2417,
        "predicted_BB": 0.4995,
        "predicted_H": 1.0922,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1604,
        "predicted_OBP": 0.3258,
        "predicted_R": 0.6633,
        "predicted_RBI": 0.6991,
        "predicted_SLG": 0.4158,
        "predicted_SO": 0.5719
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.99,
          "after": 4.5074,
          "delta": -0.4826,
          "percent_delta": -0.0967,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2417,
          "delta": -0.0073,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.24,
          "after": 1.0922,
          "delta": -0.1478,
          "percent_delta": -0.1192,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3258,
          "delta": -0.0052,
          "percent_delta": -0.0157,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.592,
          "after": 0.6633,
          "delta": 0.0713,
          "percent_delta": 0.1204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.77,
          "after": 0.6991,
          "delta": -0.0709,
          "percent_delta": -0.0921,
          "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.592,
          "after": 0.6633,
          "delta": 0.0713,
          "percent_delta": 0.1204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.99,
          "after": 4.5074,
          "delta": -0.4826,
          "percent_delta": -0.0967,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2192,
        "predicted_3B": 0.031,
        "predicted_AB": 4.5074,
        "predicted_AVG": 0.2413,
        "predicted_BB": 0.4983,
        "predicted_H": 1.0875,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.159,
        "predicted_OBP": 0.3168,
        "predicted_R": 0.659,
        "predicted_RBI": 0.6946,
        "predicted_SLG": 0.4095,
        "predicted_SO": 0.5733
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3258,
          "after": 0.3168,
          "delta": -0.009,
          "percent_delta": -0.0276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4158,
          "after": 0.4095,
          "delta": -0.0063,
          "percent_delta": -0.0152,
          "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.3258,
          "after": 0.3168,
          "delta": -0.009,
          "percent_delta": -0.0276,
          "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.99), rates preserved: AVG=0.207 HR/AB=0.032",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2192,
          "after": 0.0,
          "delta": -0.2192,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.5074,
          "after": 4.0,
          "delta": -0.5074,
          "percent_delta": -0.1126,
          "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": 1.0875,
          "after": 1.0,
          "delta": -0.0875,
          "percent_delta": -0.0805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.159,
          "after": 0.0,
          "delta": -0.159,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6946,
          "after": 1.0,
          "delta": 0.3054,
          "percent_delta": 0.4397,
          "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": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.5733,
          "after": 1.0,
          "delta": 0.4267,
          "percent_delta": 0.7443,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.5074,
          "after": 4.0,
          "delta": -0.5074,
          "percent_delta": -0.1126,
          "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.659,
          "after": 1.0,
          "delta": 0.341,
          "percent_delta": 0.5175,
          "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.659,
          "after": 1.0,
          "delta": 0.341,
          "percent_delta": 0.5175,
          "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.2044,
        "predicted_3B": 0.0107,
        "predicted_BB": 0.5153,
        "predicted_H": 0.8825,
        "predicted_HR": 0.1035,
        "predicted_RBI": 0.4487,
        "predicted_SO": 0.7004
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2044,
          "delta": 0.2044,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5153,
          "delta": 0.5153,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8825,
          "delta": -0.1175,
          "percent_delta": -0.1175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1035,
          "delta": 0.1035,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4487,
          "delta": -0.5513,
          "percent_delta": -0.5513,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5153,
          "delta": 0.5153,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4487,
          "delta": -0.5513,
          "percent_delta": -0.5513,
          "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.22,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.354,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2044,
          "after": 1.0,
          "delta": 0.7956,
          "percent_delta": 3.8924,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2413,
          "after": 0.22,
          "delta": -0.0213,
          "percent_delta": -0.0883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5153,
          "after": 1.0,
          "delta": 0.4847,
          "percent_delta": 0.9406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8825,
          "after": 1.0,
          "delta": 0.1175,
          "percent_delta": 0.1331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1035,
          "after": 0.0,
          "delta": -0.1035,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4487,
          "after": 1.0,
          "delta": 0.5513,
          "percent_delta": 1.2287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4095,
          "after": 0.354,
          "delta": -0.0555,
          "percent_delta": -0.1355,
          "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": 5,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.2044,
          "after": 1.0,
          "delta": 0.7956,
          "percent_delta": 3.8924,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1035,
          "after": 0.0,
          "delta": -0.1035,
          "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.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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 blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Market blend not applied: no props for this hitter",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.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_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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 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": 5.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.354,
        "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.224,
        "after": 0.0,
        "delta": -0.224,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.22,
        "delta": -0.029,
        "percent_delta": -0.1165,
        "direction": "deboost",
        "projection_effect": "worse",
        "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": 1.24,
        "after": 1.0,
        "delta": -0.24,
        "percent_delta": -0.1935,
        "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.331,
        "after": 0.314,
        "delta": -0.017,
        "percent_delta": -0.0514,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.592,
        "after": 1.0,
        "delta": 0.408,
        "percent_delta": 0.6892,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.77,
        "after": 1.0,
        "delta": 0.23,
        "percent_delta": 0.2987,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.418,
        "after": 0.354,
        "delta": -0.064,
        "percent_delta": -0.1531,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.568,
        "after": 1.0,
        "delta": 0.432,
        "percent_delta": 0.7606,
        "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_HR",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.496,
        "after": 0.0,
        "delta": -0.496,
        "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.224-
predicted_3B0.008-
predicted_AB4.990-
predicted_AVG0.249-
predicted_BB0.496-
predicted_H1.240-
predicted_HR0.190-
predicted_OBP0.331-
predicted_R0.592-
predicted_RBI0.770-
predicted_SLG0.418-
predicted_SO0.568-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.219-0.005
predicted_3B0.0310.023
predicted_AB4.507-0.483
predicted_AVG0.242-0.007
predicted_BB0.4990.004
predicted_H1.092-0.148
predicted_HBP0.016-
predicted_HR0.160-0.030
predicted_OBP0.326-0.005
predicted_R0.6630.071
predicted_RBI0.699-0.071
predicted_SLG0.416-0.002
predicted_SO0.5720.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.2190.000
predicted_3B0.0310.000
predicted_AB4.5070.000
predicted_AVG0.241-0.000
predicted_BB0.498-0.001
predicted_H1.087-0.005
predicted_HBP0.0160.000
predicted_HR0.159-0.001
predicted_OBP0.317-0.009
predicted_R0.659-0.004
predicted_RBI0.695-0.005
predicted_SLG0.409-0.006
predicted_SO0.5730.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.99), rates preserved: AVG=0.207 HR/AB=0.032

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2040.204
3B0.0110.011
BB0.5150.515
H0.882-0.118
HR0.1030.103
RBI0.449-0.551
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
2B1.0000.796
3B0.000-0.011
AB4.0000.000
AVG0.220-
BB1.0000.485
H1.0000.118
HR0.000-0.103
OBP0.314-
R1.0000.000
RBI1.0000.551
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_2B1.0000.781
predicted_3B0.000-0.031
predicted_AB4.000-0.507
predicted_AVG0.220-0.021
predicted_BB1.0000.502
predicted_H1.000-0.087
predicted_HR0.000-0.159
predicted_OBP0.314-0.003
predicted_R1.0000.341
predicted_RBI1.0000.305
predicted_SLG0.354-0.055
predicted_SO1.0000.427
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Market blend not applied: no props for this hitter

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.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
AB5.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA5.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: 125
Reference playing time: 4.990
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0004.0001.0001.0001.0005.0006.0003.0003.0000.20000.30430.50000.20000.05000.25000.15000.1500
last_100.2010-40.00010.0002.0001.0001.0007.0009.0005.0005.0000.25000.32610.42500.25000.02500.17500.12500.1250
season0.60125-476.000112.00028.0001.00013.00058.00074.00062.00071.0000.23530.32300.38030.23530.02730.12180.13030.1492
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2130
predicted_3B0.0610
predicted_AB3.8800
predicted_AVG0.2321
predicted_BB0.5040
predicted_H0.9000
predicted_HBP0.0160
predicted_HR0.1220
predicted_OBP0.3191
predicted_R0.7560
predicted_RBI0.6070
predicted_SLG0.4129
predicted_SO0.5770
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22400.21300.2192model_form_blend
predicted_3B0.00800.06100.0310model_form_blend
predicted_AB4.99003.88004.5074model_form_blend
predicted_AVG0.24900.23210.2417model_form_blend
predicted_BB0.49600.50400.4995model_form_blend
predicted_H1.24000.90001.0922model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.19000.12200.1604model_form_blend
predicted_OBP0.33100.31910.3258model_form_blend
predicted_R0.59200.75600.6633model_form_blend
predicted_RBI0.77000.60700.6991model_form_blend
predicted_SLG0.41800.41290.4158model_form_blend
predicted_SO0.56800.57700.5719model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
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_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261008_CLE@CHW
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-10-08
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 20261010: 531
All-history rows before 20261010: 531
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2813
Diff (system - data): 0.0037
System opponent_avg: 0.2710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2120.0000.000Hitting_2B0.2200.000-0.2200.000
predicted_3B0.0230.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.7203.0003.000Hitting_AB3.9304.000-0.930-1.000
predicted_AVG0.2410.3330.333Hitting_AVG0.2810.2500.0520.083
predicted_BB0.4471.0001.000Hitting_BB0.4651.0000.5350.000
predicted_CS-0.0000.000BaseRunning_CS0.0191.000-0.019-1.000
predicted_H1.1401.0001.000Hitting_H1.1051.000-0.1050.000
predicted_HR0.1400.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3420.5000.500Hitting_OBP0.3560.4000.1440.100
predicted_R0.4620.0000.000Hitting_R0.4990.000-0.4990.000
predicted_RBI0.5701.0001.000Hitting_RBI0.5631.0000.4370.000
predicted_SLG0.3790.3330.333Hitting_SLG0.4480.250-0.1150.083
predicted_SO0.6140.0000.000Hitting_SO0.6440.000-0.6440.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.4470 -> 1.0000 (boost 0.5530, better)
Biggest Deboostpredicted_AB: 4.7200 -> 3.0000 (deboost -1.7200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52332predicted_SLG: 0.3790 -> 0.3972 (boost 0.0182, better)predicted_AB: 4.7200 -> 4.3375 (deboost -0.3825, worse)Final model input calibrated 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.3468 -> 0.3228 (deboost -0.0240, 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.5627 -> 1.0000 (boost 0.4373, worse)predicted_RBI: 0.5395 -> 0.0000 (deboost -0.5395, worse)AB rounded to 4 (raw=4.72), rates preserved: AVG=0.219 HR/AB=0.029
6consistency_constraints10101-predicted_R: 0.4737 -> 0.0000 (deboost -0.4737, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4714 (boost 0.4714, better)predicted_SO: 1.0000 -> 0.7329 (deboost -0.2671, 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_allocation96354predicted_2B: 0.1932 -> 1.0000 (boost 0.8068, better)predicted_HR: 0.1112 -> 0.0000 (deboost -0.1112, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_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
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": "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.212,
        "predicted_3B": 0.023,
        "predicted_AB": 4.72,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.447,
        "predicted_H": 1.14,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.342,
        "predicted_R": 0.462,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.614
      },
      "changed_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.1933,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.3375,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.4675,
        "predicted_H": 1.0891,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1365,
        "predicted_OBP": 0.3468,
        "predicted_R": 0.4768,
        "predicted_RBI": 0.543,
        "predicted_SLG": 0.3972,
        "predicted_SO": 0.5613
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.72,
          "after": 4.3375,
          "delta": -0.3825,
          "percent_delta": -0.081,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.252,
          "delta": 0.011,
          "percent_delta": 0.0456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.14,
          "after": 1.0891,
          "delta": -0.0509,
          "percent_delta": -0.0446,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3972,
          "delta": 0.0182,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.614,
          "after": 0.5613,
          "delta": -0.0527,
          "percent_delta": -0.0858,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3972,
          "delta": 0.0182,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.72,
          "after": 4.3375,
          "delta": -0.3825,
          "percent_delta": -0.081,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1933,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.3375,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.4663,
        "predicted_H": 1.0844,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1353,
        "predicted_OBP": 0.3228,
        "predicted_R": 0.4737,
        "predicted_RBI": 0.5395,
        "predicted_SLG": 0.397,
        "predicted_SO": 0.5627
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3468,
          "after": 0.3228,
          "delta": -0.024,
          "percent_delta": -0.0692,
          "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.3468,
          "after": 0.3228,
          "delta": -0.024,
          "percent_delta": -0.0692,
          "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.72), rates preserved: AVG=0.219 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1933,
          "after": 0.0,
          "delta": -0.1933,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.3375,
          "after": 4.0,
          "delta": -0.3375,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4663,
          "after": 0.0,
          "delta": -0.4663,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0844,
          "after": 1.0,
          "delta": -0.0844,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1353,
          "after": 0.0,
          "delta": -0.1353,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5395,
          "after": 0.0,
          "delta": -0.5395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5627,
          "after": 1.0,
          "delta": 0.4373,
          "percent_delta": 0.7771,
          "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.5627,
          "after": 1.0,
          "delta": 0.4373,
          "percent_delta": 0.7771,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5395,
          "after": 0.0,
          "delta": -0.5395,
          "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.4737,
          "after": 0.0,
          "delta": -0.4737,
          "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.4737,
          "after": 0.0,
          "delta": -0.4737,
          "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.1932,
        "predicted_3B": 0.0147,
        "predicted_BB": 0.4622,
        "predicted_H": 0.9366,
        "predicted_HR": 0.1112,
        "predicted_RBI": 0.4714,
        "predicted_SO": 0.7329
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1932,
          "delta": 0.1932,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4622,
          "delta": 0.4622,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9366,
          "delta": -0.0634,
          "percent_delta": -0.0634,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1112,
          "delta": 0.1112,
          "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
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7329,
          "delta": -0.2671,
          "percent_delta": -0.2671,
          "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.4714,
          "delta": 0.4714,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7329,
          "delta": -0.2671,
          "percent_delta": -0.2671,
          "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.245,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1932,
          "after": 1.0,
          "delta": 0.8068,
          "percent_delta": 4.176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.245,
          "delta": -0.005,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4622,
          "after": 1.0,
          "delta": 0.5378,
          "percent_delta": 1.1636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9366,
          "after": 1.0,
          "delta": 0.0634,
          "percent_delta": 0.0677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1112,
          "after": 0.0,
          "delta": -0.1112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3228,
          "after": 0.332,
          "delta": 0.0092,
          "percent_delta": 0.0285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4714,
          "after": 1.0,
          "delta": 0.5286,
          "percent_delta": 1.1213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.397,
          "after": 0.391,
          "delta": -0.006,
          "percent_delta": -0.0151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7329,
          "after": 1.0,
          "delta": 0.2671,
          "percent_delta": 0.3644,
          "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_2B",
          "before": 0.1932,
          "after": 1.0,
          "delta": 0.8068,
          "percent_delta": 4.176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1112,
          "after": 0.0,
          "delta": -0.1112,
          "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.245,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.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 blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 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": 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_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": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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.244,
        "predicted_BB": 1.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": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.212,
        "after": 0.0,
        "delta": -0.212,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.72,
        "after": 3.0,
        "delta": -1.72,
        "percent_delta": -0.3644,
        "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": 1.14,
        "after": 1.0,
        "delta": -0.14,
        "percent_delta": -0.1228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.342,
        "after": 0.333,
        "delta": -0.009,
        "percent_delta": -0.0263,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 0.0,
        "delta": -0.462,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 1.0,
        "delta": 0.43,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.379,
        "after": 0.393,
        "delta": 0.014,
        "percent_delta": 0.0369,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.614,
        "after": 0.0,
        "delta": -0.614,
        "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.447,
        "after": 1.0,
        "delta": 0.553,
        "percent_delta": 1.2371,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.72,
        "after": 3.0,
        "delta": -1.72,
        "percent_delta": -0.3644,
        "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.212-
predicted_3B0.023-
predicted_AB4.720-
predicted_AVG0.241-
predicted_BB0.447-
predicted_H1.140-
predicted_HR0.140-
predicted_OBP0.342-
predicted_R0.462-
predicted_RBI0.570-
predicted_SLG0.379-
predicted_SO0.614-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.193-0.019
predicted_3B0.019-0.004
predicted_AB4.338-0.382
predicted_AVG0.2520.011
predicted_BB0.4680.021
predicted_H1.089-0.051
predicted_HBP0.025-
predicted_HR0.137-0.004
predicted_OBP0.3470.005
predicted_R0.4770.015
predicted_RBI0.543-0.027
predicted_SLG0.3970.018
predicted_SO0.561-0.053
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1930.000
predicted_3B0.0190.000
predicted_AB4.3380.000
predicted_AVG0.250-0.002
predicted_BB0.466-0.001
predicted_H1.084-0.005
predicted_HBP0.0250.000
predicted_HR0.135-0.001
predicted_OBP0.323-0.024
predicted_R0.474-0.003
predicted_RBI0.539-0.004
predicted_SLG0.397-0.000
predicted_SO0.5630.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.72), rates preserved: AVG=0.219 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1930.193
3B0.0150.015
BB0.4620.462
H0.937-0.063
HR0.1110.111
RBI0.4710.471
SO0.733-0.267
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.807
3B0.000-0.015
AB4.0000.000
AVG0.245-
BB1.0000.538
H1.0000.063
HR0.000-0.111
OBP0.332-
R0.0000.000
RBI1.0000.529
SLG0.391-
SO1.0000.267
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.807
predicted_3B0.000-0.019
predicted_AB4.000-0.338
predicted_AVG0.245-0.005
predicted_BB1.0000.534
predicted_H1.000-0.084
predicted_HR0.000-0.135
predicted_OBP0.3320.009
predicted_R0.000-0.474
predicted_RBI1.0000.461
predicted_SLG0.391-0.006
predicted_SO1.0000.437
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

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

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.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
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF0.0000.000
SO0.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.720
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0000.0001.0003.0003.0003.0000.0000.25000.34780.40000.25000.05000.15000.15000.0000
last_100.2010-39.0009.0002.0000.0001.0004.0005.0006.0005.0000.23080.34780.35900.23080.02560.10260.15380.1282
season0.60132-498.000142.00028.0003.00016.00068.00061.00059.00081.0000.28510.36070.44980.28510.03210.13660.11850.1626
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0140
predicted_AB3.8410
predicted_AVG0.2662
predicted_BB0.4940
predicted_H1.0230
predicted_HBP0.0250
predicted_HR0.1320
predicted_OBP0.3530
predicted_R0.4960
predicted_RBI0.5080
predicted_SLG0.4209
predicted_SO0.4930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21200.16900.1933model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.72003.84104.3375model_form_blend
predicted_AVG0.24100.26620.2520model_form_blend
predicted_BB0.44700.49400.4675model_form_blend
predicted_H1.14001.02301.0891model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.14000.13200.1365model_form_blend
predicted_OBP0.34200.35300.3468model_form_blend
predicted_R0.46200.49600.4768model_form_blend
predicted_RBI0.57000.50800.5430model_form_blend
predicted_SLG0.37900.42090.3972model_form_blend
predicted_SO0.61400.49300.5613model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_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
allPositionsPlayedRF
gameID20261008_CLE@CHW
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-10-08
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 20261010: 175
All-history rows before 20261010: 175
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2383
Diff (system - data): 0.0027
System opponent_avg: 0.2030

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1601.0001.000Hitting_2B0.2400.0000.7601.000
predicted_3B0.0190.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.7964.0004.000Hitting_AB3.9094.0000.0910.000
predicted_AVG0.2410.2500.250Hitting_AVG0.2380.2500.0120.000
predicted_BB0.2280.0000.000Hitting_BB0.4061.000-0.406-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9141.0001.000Hitting_H0.9311.0000.0690.000
predicted_HR0.1420.0000.000Hitting_HR0.1430.000-0.1430.000
predicted_OBP0.2840.2500.250Hitting_OBP0.3240.400-0.074-0.150
predicted_R0.4321.0001.000Hitting_R0.5140.0000.4861.000
predicted_RBI0.6111.0001.000Hitting_RBI0.7492.0000.251-1.000
predicted_SLG0.4050.5000.500Hitting_SLG0.4150.2500.0850.250
predicted_SO1.0122.0002.000Hitting_SO1.1091.0000.8911.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics12
Boosted Metrics7
Deboosted Metrics5
Better Metrics6
Worse Metrics6
Biggest Boostpredicted_SO: 1.0120 -> 2.0000 (boost 0.9880, worse)
Biggest Deboostpredicted_BB: 0.2280 -> 0.0000 (deboost -0.2280, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend66051predicted_BB: 0.2280 -> 0.3269 (boost 0.0989, 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_scaling93645predicted_RBI: 0.6804 -> 1.0000 (boost 0.3196, better)predicted_BB: 0.3261 -> 0.0000 (deboost -0.3261, worse)AB rounded to 4 (raw=3.80), rates preserved: AVG=0.234 HR/AB=0.037
6consistency_constraints10101-predicted_R: 0.4079 -> 0.0000 (deboost -0.4079, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2528 (boost 0.2528, better)predicted_RBI: 1.0000 -> 0.5630 (deboost -0.4370, 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_allocation104655predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2528 -> 0.0000 (deboost -0.2528, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization32112predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_HR: 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.2820 -> 0.2900 (boost 0.0080, better)predicted_AVG: 0.2280 -> 0.2170 (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": "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.16,
        "predicted_3B": 0.019,
        "predicted_AB": 3.796,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.228,
        "predicted_H": 0.914,
        "predicted_HR": 0.142,
        "predicted_OBP": 0.284,
        "predicted_R": 0.432,
        "predicted_RBI": 0.611,
        "predicted_SLG": 0.405,
        "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.1416,
        "predicted_3B": 0.0671,
        "predicted_AB": 3.7715,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.3269,
        "predicted_H": 0.9385,
        "predicted_HBP": 0.064,
        "predicted_HR": 0.1433,
        "predicted_OBP": 0.3109,
        "predicted_R": 0.4106,
        "predicted_RBI": 0.6849,
        "predicted_SLG": 0.4362,
        "predicted_SO": 1.068
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.249,
          "delta": 0.008,
          "percent_delta": 0.0332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.228,
          "after": 0.3269,
          "delta": 0.0989,
          "percent_delta": 0.4338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.3109,
          "delta": 0.0269,
          "percent_delta": 0.0947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.611,
          "after": 0.6849,
          "delta": 0.0739,
          "percent_delta": 0.1209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4362,
          "delta": 0.0312,
          "percent_delta": 0.077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.012,
          "after": 1.068,
          "delta": 0.056,
          "percent_delta": 0.0553,
          "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_BB",
          "before": 0.228,
          "after": 0.3269,
          "delta": 0.0989,
          "percent_delta": 0.4338,
          "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": 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.1416,
        "predicted_3B": 0.0671,
        "predicted_AB": 3.7715,
        "predicted_AVG": 0.2478,
        "predicted_BB": 0.3261,
        "predicted_H": 0.9345,
        "predicted_HBP": 0.064,
        "predicted_HR": 0.142,
        "predicted_OBP": 0.3076,
        "predicted_R": 0.4079,
        "predicted_RBI": 0.6804,
        "predicted_SLG": 0.4339,
        "predicted_SO": 1.0707
      },
      "changed_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.80), rates preserved: AVG=0.234 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1416,
          "after": 0.0,
          "delta": -0.1416,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0671,
          "after": 0.0,
          "delta": -0.0671,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7715,
          "after": 4.0,
          "delta": 0.2285,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3261,
          "after": 0.0,
          "delta": -0.3261,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9345,
          "after": 1.0,
          "delta": 0.0655,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.064,
          "after": 0.0,
          "delta": -0.064,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.142,
          "after": 0.0,
          "delta": -0.142,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6804,
          "after": 1.0,
          "delta": 0.3196,
          "percent_delta": 0.4697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0707,
          "after": 1.0,
          "delta": -0.0707,
          "percent_delta": -0.066,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6804,
          "after": 1.0,
          "delta": 0.3196,
          "percent_delta": 0.4697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3261,
          "after": 0.0,
          "delta": -0.3261,
          "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.4079,
          "after": 0.0,
          "delta": -0.4079,
          "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.4079,
          "after": 0.0,
          "delta": -0.4079,
          "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.1671,
        "predicted_3B": 0.013,
        "predicted_BB": 0.2528,
        "predicted_H": 0.8763,
        "predicted_HR": 0.1253,
        "predicted_RBI": 0.563,
        "predicted_SO": 1.2086
      },
      "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.2528,
          "delta": 0.2528,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8763,
          "delta": -0.1237,
          "percent_delta": -0.1237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1253,
          "delta": 0.1253,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.563,
          "delta": -0.437,
          "percent_delta": -0.437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2086,
          "delta": 0.2086,
          "percent_delta": 0.2086,
          "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.2528,
          "delta": 0.2528,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.563,
          "delta": -0.437,
          "percent_delta": -0.437,
          "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": 1.0,
        "predicted_OBP": 0.282,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.377,
        "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.2478,
          "after": 0.228,
          "delta": -0.0198,
          "percent_delta": -0.0799,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2528,
          "after": 0.0,
          "delta": -0.2528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8763,
          "after": 1.0,
          "delta": 0.1237,
          "percent_delta": 0.1412,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1253,
          "after": 1.0,
          "delta": 0.8747,
          "percent_delta": 6.9808,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3076,
          "after": 0.282,
          "delta": -0.0256,
          "percent_delta": -0.0832,
          "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.563,
          "after": 1.0,
          "delta": 0.437,
          "percent_delta": 0.7762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4339,
          "after": 0.377,
          "delta": -0.0569,
          "percent_delta": -0.1311,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2086,
          "after": 1.0,
          "delta": -0.2086,
          "percent_delta": -0.1726,
          "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_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.2528,
          "after": 0.0,
          "delta": -0.2528,
          "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": 1.0,
        "predicted_OBP": 0.282,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.377,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "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_2B",
          "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": 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": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.217,
        "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.29,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.37,
        "predicted_SO": 2.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.217,
          "delta": -0.011,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.29,
          "delta": 0.008,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.37,
          "delta": -0.007,
          "percent_delta": -0.0186,
          "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.282,
          "after": 0.29,
          "delta": 0.008,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.217,
          "delta": -0.011,
          "percent_delta": -0.0482,
          "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": 1.0,
        "delta": 0.84,
        "percent_delta": 5.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.796,
        "after": 4.0,
        "delta": 0.204,
        "percent_delta": 0.0537,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.217,
        "delta": -0.024,
        "percent_delta": -0.0996,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.228,
        "after": 0.0,
        "delta": -0.228,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.914,
        "after": 1.0,
        "delta": 0.086,
        "percent_delta": 0.0941,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.064,
        "after": 0.0,
        "delta": -0.064,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.142,
        "after": 0.0,
        "delta": -0.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.284,
        "after": 0.29,
        "delta": 0.006,
        "percent_delta": 0.0211,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.432,
        "after": 1.0,
        "delta": 0.568,
        "percent_delta": 1.3148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.611,
        "after": 1.0,
        "delta": 0.389,
        "percent_delta": 0.6367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.405,
        "after": 0.37,
        "delta": -0.035,
        "percent_delta": -0.0864,
        "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": 12,
      "boosted_metrics": 7,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "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_BB",
        "before": 0.228,
        "after": 0.0,
        "delta": -0.228,
        "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.160-
predicted_3B0.019-
predicted_AB3.796-
predicted_AVG0.241-
predicted_BB0.228-
predicted_H0.914-
predicted_HR0.142-
predicted_OBP0.284-
predicted_R0.432-
predicted_RBI0.611-
predicted_SLG0.405-
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.142-0.018
predicted_3B0.0670.048
predicted_AB3.772-0.024
predicted_AVG0.2490.008
predicted_BB0.3270.099
predicted_H0.9390.024
predicted_HBP0.064-
predicted_HR0.1430.001
predicted_OBP0.3110.027
predicted_R0.411-0.021
predicted_RBI0.6850.074
predicted_SLG0.4360.031
predicted_SO1.0680.056
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1420.000
predicted_3B0.0670.000
predicted_AB3.7720.000
predicted_AVG0.248-0.001
predicted_BB0.326-0.001
predicted_H0.934-0.004
predicted_HBP0.0640.000
predicted_HR0.142-0.001
predicted_OBP0.308-0.003
predicted_R0.408-0.003
predicted_RBI0.680-0.004
predicted_SLG0.434-0.002
predicted_SO1.0710.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.80), rates preserved: AVG=0.234 HR/AB=0.037

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
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.0130.013
BB0.2530.253
H0.876-0.124
HR0.1250.125
RBI0.563-0.437
SO1.2090.209
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.013
AB4.0000.000
AVG0.228-
BB0.000-0.253
H1.0000.124
HR1.0000.875
OBP0.282-
R1.0001.000
RBI1.0000.437
SLG0.377-
SO1.000-0.209
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.067
predicted_AB4.0000.228
predicted_AVG0.228-0.020
predicted_BB0.000-0.326
predicted_H1.0000.066
predicted_HR1.0000.858
predicted_OBP0.282-0.026
predicted_R1.0000.592
predicted_RBI1.0000.320
predicted_SLG0.377-0.057
predicted_SO1.000-0.071
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

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

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI1.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
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-18.0006.0000.0002.0001.0007.0001.0004.0008.0000.33330.45450.72220.33330.05560.38890.22220.4444
last_100.2010-37.0009.0001.0002.0001.0007.0004.0008.00011.0000.24320.37780.45950.24320.02700.18920.21620.2973
season0.60162-615.000148.00026.0003.00023.00099.00070.00037.000164.0000.24070.30120.40490.24070.03740.16100.06020.2667
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1180
predicted_3B0.1290
predicted_AB3.7400
predicted_AVG0.2592
predicted_BB0.4540
predicted_H0.9700
predicted_HBP0.0640
predicted_HR0.1450
predicted_OBP0.3454
predicted_R0.3830
predicted_RBI0.7800
predicted_SLG0.4762
predicted_SO1.1400
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.11800.1416model_form_blend
predicted_3B0.01900.12900.0671model_form_blend
predicted_AB3.79603.74003.7715model_form_blend
predicted_AVG0.24100.25920.2490model_form_blend
predicted_BB0.22800.45400.3269model_form_blend
predicted_H0.91400.97000.9385model_form_blend
predicted_HBP-0.06400.0640form_only
predicted_HR0.14200.14500.1433model_form_blend
predicted_OBP0.28400.34540.3109model_form_blend
predicted_R0.43200.38300.4106model_form_blend
predicted_RBI0.61100.78000.6849model_form_blend
predicted_SLG0.40500.47620.4362model_form_blend
predicted_SO1.01201.14001.0680model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date175
Season rows before report date175
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
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_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20261008_CLE@CHW
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-10-08
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 20261010: 141
All-history rows before 20261010: 141
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2378
Diff (system - data): 0.0112
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.1830.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1754.0004.000Hitting_AB3.4894.0000.5110.000
predicted_AVG0.2700.2500.250Hitting_AVG0.2380.5000.012-0.250
predicted_BB0.3330.0000.000Hitting_BB0.3331.000-0.333-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8101.0001.000Hitting_H0.8302.0000.170-1.000
predicted_HR0.1001.0001.000Hitting_HR0.1350.0000.8651.000
predicted_OBP0.3420.2500.250Hitting_OBP0.2980.600-0.048-0.350
predicted_R0.3001.0001.000Hitting_R0.3480.0000.6521.000
predicted_RBI0.4602.0002.000Hitting_RBI0.6950.0001.3052.000
predicted_SLG0.4071.0001.000Hitting_SLG0.4070.5000.5930.500
predicted_SO0.8172.0002.000Hitting_SO0.7940.0001.2062.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.4600 -> 2.0000 (boost 1.5400, better)
Biggest Deboostpredicted_BB: 0.3330 -> 0.0000 (deboost -0.3330, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41322predicted_BB: 0.3330 -> 0.3994 (boost 0.0664, better)predicted_SO: 0.8170 -> 0.7506 (deboost -0.0664, 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_AVG: 0.2612 -> 0.2516 (deboost -0.0096, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.7525 -> 1.0000 (boost 0.2475, worse)predicted_RBI: 0.4561 -> 0.0000 (deboost -0.4561, worse)AB rounded to 3 (raw=3.20), rates preserved: AVG=0.239 HR/AB=0.029
6consistency_constraints10101-predicted_R: 0.2788 -> 0.0000 (deboost -0.2788, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4859 (boost 0.4859, better)predicted_H: 1.0000 -> 0.7914 (deboost -0.2086, 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.4859 -> 1.0000 (boost 0.5141, better)predicted_BB: 0.3770 -> 0.0000 (deboost -0.3770, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization55041predicted_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_OBP: 0.3090 -> 0.2990 (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": "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.183,
        "predicted_3B": 0.0,
        "predicted_AB": 3.175,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.333,
        "predicted_H": 0.81,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.342,
        "predicted_R": 0.3,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.407,
        "predicted_SO": 0.817
      },
      "changed_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": 3.1965,
        "predicted_AVG": 0.2612,
        "predicted_BB": 0.3994,
        "predicted_H": 0.8078,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0927,
        "predicted_OBP": 0.3429,
        "predicted_R": 0.2806,
        "predicted_RBI": 0.4591,
        "predicted_SLG": 0.3956,
        "predicted_SO": 0.7506
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2612,
          "delta": -0.0088,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.3994,
          "delta": 0.0664,
          "percent_delta": 0.1994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.3956,
          "delta": -0.0114,
          "percent_delta": -0.028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.817,
          "after": 0.7506,
          "delta": -0.0664,
          "percent_delta": -0.0813,
          "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.333,
          "after": 0.3994,
          "delta": 0.0664,
          "percent_delta": 0.1994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.817,
          "after": 0.7506,
          "delta": -0.0664,
          "percent_delta": -0.0813,
          "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": 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.1778,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1965,
        "predicted_AVG": 0.2516,
        "predicted_BB": 0.3984,
        "predicted_H": 0.8043,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0919,
        "predicted_OBP": 0.3346,
        "predicted_R": 0.2788,
        "predicted_RBI": 0.4561,
        "predicted_SLG": 0.3937,
        "predicted_SO": 0.7525
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2612,
          "after": 0.2516,
          "delta": -0.0096,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3429,
          "after": 0.3346,
          "delta": -0.0083,
          "percent_delta": -0.0242,
          "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.2612,
          "after": 0.2516,
          "delta": -0.0096,
          "percent_delta": -0.0368,
          "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.20), rates preserved: AVG=0.239 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1778,
          "after": 0.0,
          "delta": -0.1778,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.1965,
          "after": 3.0,
          "delta": -0.1965,
          "percent_delta": -0.0615,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3984,
          "after": 0.0,
          "delta": -0.3984,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8043,
          "after": 1.0,
          "delta": 0.1957,
          "percent_delta": 0.2433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0919,
          "after": 0.0,
          "delta": -0.0919,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4561,
          "after": 0.0,
          "delta": -0.4561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7525,
          "after": 1.0,
          "delta": 0.2475,
          "percent_delta": 0.3289,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7525,
          "after": 1.0,
          "delta": 0.2475,
          "percent_delta": 0.3289,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4561,
          "after": 0.0,
          "delta": -0.4561,
          "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.2788,
          "after": 0.0,
          "delta": -0.2788,
          "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.2788,
          "after": 0.0,
          "delta": -0.2788,
          "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.1747,
        "predicted_3B": 0.0078,
        "predicted_BB": 0.377,
        "predicted_H": 0.7914,
        "predicted_HR": 0.12,
        "predicted_RBI": 0.4859,
        "predicted_SO": 0.9988
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1747,
          "delta": 0.1747,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.377,
          "delta": 0.377,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7914,
          "delta": -0.2086,
          "percent_delta": -0.2086,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.12,
          "delta": 0.12,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4859,
          "delta": 0.4859,
          "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.4859,
          "delta": 0.4859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7914,
          "delta": -0.2086,
          "percent_delta": -0.2086,
          "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.309,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1747,
          "after": 0.0,
          "delta": -0.1747,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2516,
          "after": 0.228,
          "delta": -0.0236,
          "percent_delta": -0.0938,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.377,
          "after": 0.0,
          "delta": -0.377,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7914,
          "after": 1.0,
          "delta": 0.2086,
          "percent_delta": 0.2636,
          "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.3346,
          "after": 0.309,
          "delta": -0.0256,
          "percent_delta": -0.0765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4859,
          "after": 1.0,
          "delta": 0.5141,
          "percent_delta": 1.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3937,
          "after": 0.387,
          "delta": -0.0067,
          "percent_delta": -0.017,
          "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.4859,
          "after": 1.0,
          "delta": 0.5141,
          "percent_delta": 1.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.377,
          "after": 0.0,
          "delta": -0.377,
          "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.309,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 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": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.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": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 2.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.228,
          "after": 0.22,
          "delta": -0.008,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.299,
          "delta": -0.01,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.38,
          "delta": -0.007,
          "percent_delta": -0.0181,
          "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.309,
          "after": 0.299,
          "delta": -0.01,
          "percent_delta": -0.0324,
          "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.175,
        "after": 4.0,
        "delta": 0.825,
        "percent_delta": 0.2598,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.27,
        "after": 0.22,
        "delta": -0.05,
        "percent_delta": -0.1852,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.81,
        "after": 1.0,
        "delta": 0.19,
        "percent_delta": 0.2346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.342,
        "after": 0.299,
        "delta": -0.043,
        "percent_delta": -0.1257,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.3,
        "after": 1.0,
        "delta": 0.7,
        "percent_delta": 2.3333,
        "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.407,
        "after": 0.38,
        "delta": -0.027,
        "percent_delta": -0.0663,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.817,
        "after": 2.0,
        "delta": 1.183,
        "percent_delta": 1.448,
        "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.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "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.000-
predicted_AB3.175-
predicted_AVG0.270-
predicted_BB0.333-
predicted_H0.810-
predicted_HR0.100-
predicted_OBP0.342-
predicted_R0.300-
predicted_RBI0.460-
predicted_SLG0.407-
predicted_SO0.817-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.178-0.005
predicted_3B0.0000.000
predicted_AB3.1960.022
predicted_AVG0.261-0.009
predicted_BB0.3990.066
predicted_H0.808-0.002
predicted_HBP0.030-
predicted_HR0.093-0.007
predicted_OBP0.3430.001
predicted_R0.281-0.019
predicted_RBI0.459-0.001
predicted_SLG0.396-0.011
predicted_SO0.751-0.066
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1780.000
predicted_3B0.0000.000
predicted_AB3.1960.000
predicted_AVG0.252-0.010
predicted_BB0.398-0.001
predicted_H0.804-0.003
predicted_HBP0.0300.000
predicted_HR0.092-0.001
predicted_OBP0.335-0.008
predicted_R0.279-0.002
predicted_RBI0.456-0.003
predicted_SLG0.394-0.002
predicted_SO0.7520.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.20), rates preserved: AVG=0.239 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1750.175
3B0.0080.008
BB0.3770.377
H0.791-0.209
HR0.1200.120
RBI0.4860.486
SO0.999-0.001
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.175
3B0.000-0.008
AB3.0000.000
AVG0.228-
BB0.000-0.377
H1.0000.209
HR0.000-0.120
OBP0.309-
R0.0000.000
RBI1.0000.514
SLG0.387-
SO1.0000.001
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.178
predicted_3B0.000-0.000
predicted_AB3.000-0.196
predicted_AVG0.228-0.024
predicted_BB0.000-0.398
predicted_H1.0000.196
predicted_HR0.000-0.092
predicted_OBP0.309-0.026
predicted_R0.000-0.279
predicted_RBI1.0000.544
predicted_SLG0.387-0.007
predicted_SO1.0000.248
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

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

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI2.0001.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
HR1.0000.000
PA4.0000.000
R1.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: 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.0004.0001.0000.0000.0001.0001.0005.0002.0000.25000.42860.31250.25000.00000.06250.31250.1250
last_100.2010-32.0008.0001.0000.0000.0005.0001.0005.0004.0000.25000.35000.28120.25000.00000.15620.15620.1250
season0.60120-381.00095.00022.0000.00016.00063.00036.00040.00098.0000.24930.31860.43310.24930.04200.16530.10500.2572
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1710
predicted_3B0.0010
predicted_AB3.2250
predicted_AVG0.2495
predicted_BB0.4870
predicted_H0.8050
predicted_HBP0.0300
predicted_HR0.0830
predicted_OBP0.3442
predicted_R0.2550
predicted_RBI0.4580
predicted_SLG0.3805
predicted_SO0.6630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.17100.1778model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.17503.22503.1965model_form_blend
predicted_AVG0.27000.24950.2612model_form_blend
predicted_BB0.33300.48700.3994model_form_blend
predicted_H0.81000.80500.8078model_form_blend
predicted_HBP-0.03000.0300form_only
predicted_HR0.10000.08300.0927model_form_blend
predicted_OBP0.34200.34420.3429model_form_blend
predicted_R0.30000.25500.2806model_form_blend
predicted_RBI0.46000.45800.4591model_form_blend
predicted_SLG0.40700.38050.3956model_form_blend
predicted_SO0.81700.66300.7506model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
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_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_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
gameID20261008_CLE@CHW
game_typefull
mlbID663993
playerID663993
playerNameNathaniel Lowe
pos1B
startedTrue
startingPosition1B
teamCLE
teamID8
game_date2026-10-08
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
Travis Bazzana (683953) · BATTER · 2B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 493
All-history rows before 20261010: 493
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2490
Diff (system - data): -0.0110
System opponent_avg: 0.1240

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1840.0000.000Hitting_2B0.1781.000-0.178-1.000
predicted_3B0.0160.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6703.0003.000Hitting_AB3.7064.000-0.706-1.000
predicted_AVG0.2150.0000.000Hitting_AVG0.2490.250-0.249-0.250
predicted_BB0.4561.0001.000Hitting_BB0.5050.0000.4951.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.7900.0000.000Hitting_H0.9231.000-0.923-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3020.2500.250Hitting_OBP0.3440.250-0.0940.000
predicted_R0.4560.0000.000Hitting_R0.4711.000-0.471-1.000
predicted_RBI0.3500.0000.000Hitting_RBI0.5211.000-0.521-1.000
predicted_SB-0.0000.000BaseRunning_SB0.1700.000-0.1700.000
predicted_SLG0.3680.0000.000Hitting_SLG0.4040.500-0.404-0.500
predicted_SO0.8561.0001.000Hitting_SO0.8970.0000.1031.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_BB: 0.4560 -> 1.0000 (boost 0.5440, better)
Biggest Deboostpredicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_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_SLG: 0.3655 -> 0.3478 (deboost -0.0177, 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.7672 -> 1.0000 (boost 0.2328, better)predicted_AB: 3.6257 -> 3.0000 (deboost -0.6257, worse)AB rounded to 3 (raw=3.67), rates preserved: AVG=0.199 HR/AB=0.021
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)
7consistency_constraints10101-predicted_R: 0.4785 -> 0.0000 (deboost -0.4785, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4322 (boost 0.4322, better)predicted_H: 1.0000 -> 0.7690 (deboost -0.2310, 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_allocation106455predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.4322 -> 0.0000 (deboost -0.4322, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization31212predicted_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_final10101-predicted_OBP: 0.3130 -> 0.3030 (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": "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.184,
        "predicted_3B": 0.016,
        "predicted_AB": 3.67,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.456,
        "predicted_H": 0.79,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.302,
        "predicted_R": 0.456,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.368,
        "predicted_SO": 0.856
      },
      "changed_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.2205,
        "predicted_3B": 0.0216,
        "predicted_AB": 3.6257,
        "predicted_AVG": 0.2123,
        "predicted_BB": 0.4595,
        "predicted_H": 0.7705,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0774,
        "predicted_OBP": 0.303,
        "predicted_R": 0.4816,
        "predicted_RBI": 0.3431,
        "predicted_SLG": 0.3655,
        "predicted_SO": 0.8291
      },
      "changed_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": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2205,
        "predicted_3B": 0.0216,
        "predicted_AB": 3.6257,
        "predicted_AVG": 0.2116,
        "predicted_BB": 0.4584,
        "predicted_H": 0.7672,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0767,
        "predicted_OBP": 0.3001,
        "predicted_R": 0.4785,
        "predicted_RBI": 0.3409,
        "predicted_SLG": 0.3478,
        "predicted_SO": 0.8312
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.3655,
          "after": 0.3478,
          "delta": -0.0177,
          "percent_delta": -0.0484,
          "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.3655,
          "after": 0.3478,
          "delta": -0.0177,
          "percent_delta": -0.0484,
          "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.199 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.2205,
          "after": 0.0,
          "delta": -0.2205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6257,
          "after": 3.0,
          "delta": -0.6257,
          "percent_delta": -0.1726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4584,
          "after": 0.0,
          "delta": -0.4584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7672,
          "after": 1.0,
          "delta": 0.2328,
          "percent_delta": 0.3034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0767,
          "after": 0.0,
          "delta": -0.0767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3409,
          "after": 0.0,
          "delta": -0.3409,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8312,
          "after": 1.0,
          "delta": 0.1688,
          "percent_delta": 0.2031,
          "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.7672,
          "after": 1.0,
          "delta": 0.2328,
          "percent_delta": 0.3034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6257,
          "after": 3.0,
          "delta": -0.6257,
          "percent_delta": -0.1726,
          "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.111)",
      "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.4785,
          "after": 0.0,
          "delta": -0.4785,
          "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.4785,
          "after": 0.0,
          "delta": -0.4785,
          "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.1671,
        "predicted_3B": 0.0116,
        "predicted_BB": 0.4322,
        "predicted_H": 0.769,
        "predicted_HR": 0.1015,
        "predicted_RBI": 0.3924,
        "predicted_SO": 0.9091
      },
      "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.4322,
          "delta": 0.4322,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.769,
          "delta": -0.231,
          "percent_delta": -0.231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1015,
          "delta": 0.1015,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3924,
          "delta": 0.3924,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9091,
          "delta": -0.0909,
          "percent_delta": -0.0909,
          "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.4322,
          "delta": 0.4322,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.769,
          "delta": -0.231,
          "percent_delta": -0.231,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "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.2116,
          "after": 0.221,
          "delta": 0.0094,
          "percent_delta": 0.0444,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4322,
          "after": 0.0,
          "delta": -0.4322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.769,
          "after": 1.0,
          "delta": 0.231,
          "percent_delta": 0.3004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1015,
          "after": 0.0,
          "delta": -0.1015,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3001,
          "after": 0.313,
          "delta": 0.0129,
          "percent_delta": 0.043,
          "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.3924,
          "after": 0.0,
          "delta": -0.3924,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3478,
          "after": 0.364,
          "delta": 0.0162,
          "percent_delta": 0.0466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9091,
          "after": 1.0,
          "delta": 0.0909,
          "percent_delta": 0.1,
          "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_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.4322,
          "after": 0.0,
          "delta": -0.4322,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 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
        },
        {
          "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_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": 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": 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.219,
        "predicted_BB": 1.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.361,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.303,
          "delta": -0.01,
          "percent_delta": -0.0319,
          "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.313,
          "after": 0.303,
          "delta": -0.01,
          "percent_delta": -0.0319,
          "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.184,
        "after": 0.0,
        "delta": -0.184,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.67,
        "after": 3.0,
        "delta": -0.67,
        "percent_delta": -0.1826,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.456,
        "after": 1.0,
        "delta": 0.544,
        "percent_delta": 1.193,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_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.368,
        "after": 0.361,
        "delta": -0.007,
        "percent_delta": -0.019,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.856,
        "after": 1.0,
        "delta": 0.144,
        "percent_delta": 0.1682,
        "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_BB",
        "before": 0.456,
        "after": 1.0,
        "delta": 0.544,
        "percent_delta": 1.193,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.184-
predicted_3B0.016-
predicted_AB3.670-
predicted_AVG0.215-
predicted_BB0.456-
predicted_H0.790-
predicted_HR0.080-
predicted_OBP0.302-
predicted_R0.456-
predicted_RBI0.350-
predicted_SLG0.368-
predicted_SO0.856-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.037
predicted_3B0.0220.006
predicted_AB3.626-0.044
predicted_AVG0.212-0.003
predicted_BB0.4600.004
predicted_H0.770-0.020
predicted_HBP0.033-
predicted_HR0.077-0.003
predicted_OBP0.3030.001
predicted_R0.4820.026
predicted_RBI0.343-0.007
predicted_SLG0.365-0.003
predicted_SO0.829-0.027
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2210.000
predicted_3B0.0220.000
predicted_AB3.6260.000
predicted_AVG0.212-0.001
predicted_BB0.458-0.001
predicted_H0.767-0.003
predicted_HBP0.0330.000
predicted_HR0.077-0.001
predicted_OBP0.300-0.003
predicted_R0.478-0.003
predicted_RBI0.341-0.002
predicted_SLG0.348-0.018
predicted_SO0.8310.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.199 HR/AB=0.021

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

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

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.1670.167
3B0.0120.012
BB0.4320.432
H0.769-0.231
HR0.1020.102
RBI0.3920.392
SO0.909-0.091
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.167
3B0.000-0.012
AB3.0000.000
AVG0.221-
BB0.000-0.432
H1.0000.231
HR0.000-0.102
OBP0.313-
R1.0001.000
RBI0.000-0.392
SLG0.364-
SO1.0000.091
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.221
predicted_3B0.000-0.022
predicted_AB3.000-0.626
predicted_AVG0.2210.009
predicted_BB0.000-0.458
predicted_H1.0000.233
predicted_HR0.000-0.077
predicted_OBP0.3130.013
predicted_R1.0000.522
predicted_RBI0.000-0.341
predicted_SLG0.3640.016
predicted_SO1.0000.169
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

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

MetricValueDelta vs Prev Step
13. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H0.000-1.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
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: 125
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.0002.0002.0000.0000.0001.0003.0003.0002.0000.11760.25000.23530.11770.00000.05880.17650.1177
last_100.2010-35.0007.0004.0001.0000.0001.0006.0004.00010.0000.20000.28210.37140.20000.00000.02860.11430.2857
season0.60125-453.000108.00023.0002.00015.00056.00057.00057.000107.0000.23840.32950.39740.23840.03310.12360.12580.2362
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2680
predicted_3B0.0290
predicted_AB3.5680
predicted_AVG0.2088
predicted_BB0.4640
predicted_H0.7450
predicted_HBP0.0330
predicted_HR0.0740
predicted_OBP0.3042
predicted_R0.5150
predicted_RBI0.3340
predicted_SLG0.3623
predicted_SO0.7940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18400.26800.2205model_form_blend
predicted_3B0.01600.02900.0216model_form_blend
predicted_AB3.67003.56803.6257model_form_blend
predicted_AVG0.21500.20880.2123model_form_blend
predicted_BB0.45600.46400.4595model_form_blend
predicted_H0.79000.74500.7705model_form_blend
predicted_HBP-0.03300.0330form_only
predicted_HR0.08000.07400.0774model_form_blend
predicted_OBP0.30200.30420.3030model_form_blend
predicted_R0.45600.51500.4816model_form_blend
predicted_RBI0.35000.33400.3431model_form_blend
predicted_SLG0.36800.36230.3655model_form_blend
predicted_SO0.85600.79400.8291model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayed2B
gameID20261008_CLE@CHW
game_typefull
mlbID683953
playerID683953
playerNameTravis Bazzana
pos2B
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-10-08
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 20261010: 247
All-history rows before 20261010: 247
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2641
Diff (system - data): -0.0431
System opponent_avg: 0.2860
System season_avg diverges from 2026 season-to-date by -0.0431. 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.1340.000-0.1340.000
predicted_3B0.0100.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.0203.0003.000Hitting_AB3.0973.000-0.0970.000
predicted_AVG0.2910.3330.333Hitting_AVG0.2640.6670.069-0.333
predicted_BB0.2551.0001.000Hitting_BB0.3160.0000.6841.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5801.0001.000Hitting_H0.8182.0000.182-1.000
predicted_HR0.1500.0000.000Hitting_HR0.1261.000-0.126-1.000
predicted_OBP0.3170.5000.500Hitting_OBP0.3310.6670.169-0.167
predicted_R0.3141.0001.000Hitting_R0.3682.0000.632-1.000
predicted_RBI0.4500.0000.000Hitting_RBI0.4702.000-0.470-2.000
predicted_SLG0.4420.3330.333Hitting_SLG0.4391.667-0.106-1.333
predicted_SO0.8921.0001.000Hitting_SO0.9190.0000.0811.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.2550 -> 1.0000 (boost 0.7450, better)
Biggest Deboostpredicted_RBI: 0.4500 -> 0.0000 (deboost -0.4500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_H: 0.5800 -> 0.6725 (boost 0.0925, better)predicted_AVG: 0.2910 -> 0.2774 (deboost -0.0136, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_AVG: 0.2774 -> 0.2200 (deboost -0.0574, 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.6696 -> 1.0000 (boost 0.3304, better)predicted_RBI: 0.4323 -> 0.0000 (deboost -0.4323, worse)AB rounded to 3 (raw=3.04), rates preserved: AVG=0.209 HR/AB=0.051
6consistency_constraints10101-predicted_R: 0.3636 -> 0.0000 (deboost -0.3636, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4072 (boost 0.4072, better)predicted_H: 1.0000 -> 0.7563 (deboost -0.2437, 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_H: 0.7563 -> 1.0000 (boost 0.2437, better)predicted_RBI: 0.4072 -> 0.0000 (deboost -0.4072, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_AVG: 0.2210 -> 0.2090 (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": "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.078,
        "predicted_3B": 0.01,
        "predicted_AB": 3.02,
        "predicted_AVG": 0.291,
        "predicted_BB": 0.255,
        "predicted_H": 0.58,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.317,
        "predicted_R": 0.314,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.442,
        "predicted_SO": 0.892
      },
      "changed_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.0686,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.0439,
        "predicted_AVG": 0.2774,
        "predicted_BB": 0.2397,
        "predicted_H": 0.6725,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1555,
        "predicted_OBP": 0.3135,
        "predicted_R": 0.366,
        "predicted_RBI": 0.4351,
        "predicted_SLG": 0.4412,
        "predicted_SO": 0.9159
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.291,
          "after": 0.2774,
          "delta": -0.0136,
          "percent_delta": -0.0467,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.58,
          "after": 0.6725,
          "delta": 0.0925,
          "percent_delta": 0.1595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.314,
          "after": 0.366,
          "delta": 0.052,
          "percent_delta": 0.1656,
          "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_H",
          "before": 0.58,
          "after": 0.6725,
          "delta": 0.0925,
          "percent_delta": 0.1595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.291,
          "after": 0.2774,
          "delta": -0.0136,
          "percent_delta": -0.0467,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 102
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0686,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.0439,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.2391,
        "predicted_H": 0.6696,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1541,
        "predicted_OBP": 0.2768,
        "predicted_R": 0.3636,
        "predicted_RBI": 0.4323,
        "predicted_SLG": 0.4001,
        "predicted_SO": 0.9182
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2774,
          "after": 0.22,
          "delta": -0.0574,
          "percent_delta": -0.2069,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3135,
          "after": 0.2768,
          "delta": -0.0367,
          "percent_delta": -0.1171,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4412,
          "after": 0.4001,
          "delta": -0.0411,
          "percent_delta": -0.0932,
          "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.2774,
          "after": 0.22,
          "delta": -0.0574,
          "percent_delta": -0.2069,
          "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.04), rates preserved: AVG=0.209 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.0686,
          "after": 0.0,
          "delta": -0.0686,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2391,
          "after": 0.0,
          "delta": -0.2391,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6696,
          "after": 1.0,
          "delta": 0.3304,
          "percent_delta": 0.4934,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1541,
          "after": 0.0,
          "delta": -0.1541,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4323,
          "after": 0.0,
          "delta": -0.4323,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9182,
          "after": 1.0,
          "delta": 0.0818,
          "percent_delta": 0.0891,
          "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.6696,
          "after": 1.0,
          "delta": 0.3304,
          "percent_delta": 0.4934,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4323,
          "after": 0.0,
          "delta": -0.4323,
          "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.3636,
          "after": 0.0,
          "delta": -0.3636,
          "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.3636,
          "after": 0.0,
          "delta": -0.3636,
          "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.1442,
        "predicted_3B": 0.0107,
        "predicted_BB": 0.3239,
        "predicted_H": 0.7563,
        "predicted_HR": 0.1083,
        "predicted_RBI": 0.4072,
        "predicted_SO": 1.1427
      },
      "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.3239,
          "delta": 0.3239,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7563,
          "delta": -0.2437,
          "percent_delta": -0.2437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1083,
          "delta": 0.1083,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4072,
          "delta": 0.4072,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1427,
          "delta": 0.1427,
          "percent_delta": 0.1427,
          "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.4072,
          "delta": 0.4072,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7563,
          "delta": -0.2437,
          "percent_delta": -0.2437,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.293,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "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_BB",
          "before": 0.3239,
          "after": 0.0,
          "delta": -0.3239,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7563,
          "after": 1.0,
          "delta": 0.2437,
          "percent_delta": 0.3222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1083,
          "after": 0.0,
          "delta": -0.1083,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2768,
          "after": 0.293,
          "delta": 0.0162,
          "percent_delta": 0.0585,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4072,
          "after": 0.0,
          "delta": -0.4072,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4001,
          "after": 0.364,
          "delta": -0.0361,
          "percent_delta": -0.0902,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1427,
          "after": 1.0,
          "delta": -0.1427,
          "percent_delta": -0.1249,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7563,
          "after": 1.0,
          "delta": 0.2437,
          "percent_delta": 0.3222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4072,
          "after": 0.0,
          "delta": -0.4072,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.293,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 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_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
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 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.209,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.209,
          "delta": -0.012,
          "percent_delta": -0.0543,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.284,
          "delta": -0.009,
          "percent_delta": -0.0307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.364,
          "after": 0.352,
          "delta": -0.012,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.209,
          "delta": -0.012,
          "percent_delta": -0.0543,
          "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_AVG",
        "before": 0.291,
        "after": 0.209,
        "delta": -0.082,
        "percent_delta": -0.2818,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.255,
        "after": 1.0,
        "delta": 0.745,
        "percent_delta": 2.9216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.58,
        "after": 1.0,
        "delta": 0.42,
        "percent_delta": 0.7241,
        "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.317,
        "after": 0.284,
        "delta": -0.033,
        "percent_delta": -0.1041,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.314,
        "after": 1.0,
        "delta": 0.686,
        "percent_delta": 2.1847,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.442,
        "after": 0.352,
        "delta": -0.09,
        "percent_delta": -0.2036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.892,
        "after": 1.0,
        "delta": 0.108,
        "percent_delta": 0.1211,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.255,
        "after": 1.0,
        "delta": 0.745,
        "percent_delta": 2.9216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "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.078-
predicted_3B0.010-
predicted_AB3.020-
predicted_AVG0.291-
predicted_BB0.255-
predicted_H0.580-
predicted_HR0.150-
predicted_OBP0.317-
predicted_R0.314-
predicted_RBI0.450-
predicted_SLG0.442-
predicted_SO0.892-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.009
predicted_3B0.009-0.001
predicted_AB3.0440.024
predicted_AVG0.277-0.014
predicted_BB0.240-0.015
predicted_H0.6720.093
predicted_HBP0.008-
predicted_HR0.1550.006
predicted_OBP0.314-0.004
predicted_R0.3660.052
predicted_RBI0.435-0.015
predicted_SLG0.441-0.001
predicted_SO0.9160.024
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0690.000
predicted_3B0.0090.000
predicted_AB3.0440.000
predicted_AVG0.220-0.057
predicted_BB0.239-0.001
predicted_H0.670-0.003
predicted_HBP0.0080.000
predicted_HR0.154-0.001
predicted_OBP0.277-0.037
predicted_R0.364-0.002
predicted_RBI0.432-0.003
predicted_SLG0.400-0.041
predicted_SO0.9180.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.04), rates preserved: AVG=0.209 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.1440.144
3B0.0110.011
BB0.3240.324
H0.756-0.244
HR0.1080.108
RBI0.4070.407
SO1.1430.143
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.144
3B0.000-0.011
AB3.0000.000
AVG0.221-
BB0.000-0.324
H1.0000.244
HR0.000-0.108
OBP0.293-
R0.0000.000
RBI0.000-0.407
SLG0.364-
SO1.000-0.143
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.069
predicted_3B0.000-0.009
predicted_AB3.000-0.044
predicted_AVG0.2210.001
predicted_BB0.000-0.239
predicted_H1.0000.330
predicted_HR0.000-0.154
predicted_OBP0.2930.016
predicted_R0.000-0.364
predicted_RBI0.000-0.432
predicted_SLG0.364-0.036
predicted_SO1.0000.082
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

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

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.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
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: 102
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.0000.0000.0001.0002.0003.0001.0004.0000.35710.40000.57140.35710.07140.14290.07140.2857
last_100.2010-32.0009.0000.0000.0003.0005.0006.0001.00013.0000.28120.30300.56250.28120.09380.15620.03120.4062
season0.60102-308.00068.0008.0001.00011.00039.00032.00026.00091.0000.22080.28110.36040.22080.03570.12660.08440.2954
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0560
predicted_3B0.0070
predicted_AB3.0760
predicted_AVG0.2592
predicted_BB0.2190
predicted_H0.7970
predicted_HBP0.0080
predicted_HR0.1630
predicted_OBP0.3089
predicted_R0.4360
predicted_RBI0.4150
predicted_SLG0.4401
predicted_SO0.9480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07800.05600.0686model_form_blend
predicted_3B0.01000.00700.0087model_form_blend
predicted_AB3.02003.07603.0439model_form_blend
predicted_AVG0.29100.25920.2774model_form_blend
predicted_BB0.25500.21900.2397model_form_blend
predicted_H0.58000.79700.6725model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.15000.16300.1555model_form_blend
predicted_OBP0.31700.30890.3135model_form_blend
predicted_R0.31400.43600.3660model_form_blend
predicted_RBI0.45000.41500.4351model_form_blend
predicted_SLG0.44200.44010.4412model_form_blend
predicted_SO0.89200.94800.9159model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_AB3
Hitting_AVG0.667
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder8
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-C
gameID20261008_CLE@CHW
game_typeph
mlbID672275
noteHomered for Hedges in the 5th.
playerID672275
playerNamePatrick Bailey
posC
startedFalse
startingPositionPH
teamCLE
teamID8
game_date2026-10-08
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
Petey Halpin (690984) · BATTER · CF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 203
All-history rows before 20261010: 203
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2296
Diff (system - data): -0.0126
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.0620.0000.000Hitting_2B0.0740.000-0.0740.000
predicted_3B0.0150.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB2.6924.0004.000Hitting_AB2.8331.0001.1673.000
predicted_AVG0.2390.0000.000Hitting_AVG0.2300.000-0.2300.000
predicted_BB0.1080.0000.000Hitting_BB0.1870.000-0.1870.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.2600.0000.000Hitting_H0.6500.000-0.6500.000
predicted_HR0.0400.0000.000Hitting_HR0.0940.000-0.0940.000
predicted_OBP0.2470.0000.000Hitting_OBP0.2870.000-0.2870.000
predicted_R0.3540.0000.000Hitting_R0.4290.000-0.4290.000
predicted_RBI0.1000.0000.000Hitting_RBI0.2760.000-0.2760.000
predicted_SLG0.3290.0000.000Hitting_SLG0.3650.000-0.3650.000
predicted_SO0.5541.0001.000Hitting_SO0.5621.0000.4380.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_AB: 2.6920 -> 4.0000 (boost 1.3080, better)
Biggest Deboostpredicted_R: 0.3540 -> 0.0000 (deboost -0.3540, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_H: 0.2600 -> 0.4433 (boost 0.1833, 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.3327 -> 0.2436 (deboost -0.0891, 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.5718 -> 1.0000 (boost 0.4282, worse)predicted_H: 0.4414 -> 0.0000 (deboost -0.4414, worse)AB rounded to 3 (raw=2.77), rates preserved: AVG=0.152 HR/AB=0.018
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3513 -> 0.0000 (deboost -0.3513, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3162 (boost 0.3162, better)predicted_H: 1.0000 -> 0.7286 (deboost -0.2714, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation94536predicted_SO: 0.8287 -> 1.0000 (boost 0.1713, worse)predicted_H: 0.7286 -> 0.0000 (deboost -0.7286, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization11010predicted_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": "690984",
  "player_name": "Petey Halpin",
  "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.062,
        "predicted_3B": 0.015,
        "predicted_AB": 2.692,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.108,
        "predicted_H": 0.26,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.247,
        "predicted_R": 0.354,
        "predicted_RBI": 0.1,
        "predicted_SLG": 0.329,
        "predicted_SO": 0.554
      },
      "changed_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.0583,
        "predicted_3B": 0.013,
        "predicted_AB": 2.7706,
        "predicted_AVG": 0.2417,
        "predicted_BB": 0.1064,
        "predicted_H": 0.4433,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0502,
        "predicted_OBP": 0.2592,
        "predicted_R": 0.3536,
        "predicted_RBI": 0.1524,
        "predicted_SLG": 0.3327,
        "predicted_SO": 0.5704
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.692,
          "after": 2.7706,
          "delta": 0.0786,
          "percent_delta": 0.0292,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.26,
          "after": 0.4433,
          "delta": 0.1833,
          "percent_delta": 0.705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.247,
          "after": 0.2592,
          "delta": 0.0122,
          "percent_delta": 0.0494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1,
          "after": 0.1524,
          "delta": 0.0524,
          "percent_delta": 0.524,
          "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.26,
          "after": 0.4433,
          "delta": 0.1833,
          "percent_delta": 0.705,
          "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": 65
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0583,
        "predicted_3B": 0.013,
        "predicted_AB": 2.7706,
        "predicted_AVG": 0.1593,
        "predicted_BB": 0.1061,
        "predicted_H": 0.4414,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0498,
        "predicted_OBP": 0.1903,
        "predicted_R": 0.3513,
        "predicted_RBI": 0.1514,
        "predicted_SLG": 0.2436,
        "predicted_SO": 0.5718
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2417,
          "after": 0.1593,
          "delta": -0.0824,
          "percent_delta": -0.3409,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2592,
          "after": 0.1903,
          "delta": -0.0689,
          "percent_delta": -0.2658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3327,
          "after": 0.2436,
          "delta": -0.0891,
          "percent_delta": -0.2678,
          "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.3327,
          "after": 0.2436,
          "delta": -0.0891,
          "percent_delta": -0.2678,
          "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.77), rates preserved: AVG=0.152 HR/AB=0.018",
      "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.0583,
          "after": 0.0,
          "delta": -0.0583,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.7706,
          "after": 3.0,
          "delta": 0.2294,
          "percent_delta": 0.0828,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1061,
          "after": 0.0,
          "delta": -0.1061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4414,
          "after": 0.0,
          "delta": -0.4414,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1514,
          "after": 0.0,
          "delta": -0.1514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5718,
          "after": 1.0,
          "delta": 0.4282,
          "percent_delta": 0.7489,
          "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.5718,
          "after": 1.0,
          "delta": 0.4282,
          "percent_delta": 0.7489,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4414,
          "after": 0.0,
          "delta": -0.4414,
          "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.3513,
          "after": 0.0,
          "delta": -0.3513,
          "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.3513,
          "after": 0.0,
          "delta": -0.3513,
          "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.1418,
        "predicted_3B": 0.0115,
        "predicted_BB": 0.2222,
        "predicted_H": 0.7286,
        "predicted_HR": 0.0869,
        "predicted_RBI": 0.3162,
        "predicted_SO": 0.8287
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1418,
          "delta": 0.1418,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2222,
          "delta": 0.2222,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7286,
          "delta": -0.2714,
          "percent_delta": -0.2714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0869,
          "delta": 0.0869,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3162,
          "delta": 0.3162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8287,
          "delta": -0.1713,
          "percent_delta": -0.1713,
          "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.3162,
          "delta": 0.3162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7286,
          "delta": -0.2714,
          "percent_delta": -0.2714,
          "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.224,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.355,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1418,
          "after": 0.0,
          "delta": -0.1418,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1593,
          "after": 0.224,
          "delta": 0.0647,
          "percent_delta": 0.4062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2222,
          "after": 0.0,
          "delta": -0.2222,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7286,
          "after": 0.0,
          "delta": -0.7286,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0869,
          "after": 0.0,
          "delta": -0.0869,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1903,
          "after": 0.279,
          "delta": 0.0887,
          "percent_delta": 0.4661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3162,
          "after": 0.0,
          "delta": -0.3162,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2436,
          "after": 0.355,
          "delta": 0.1114,
          "percent_delta": 0.4573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8287,
          "after": 1.0,
          "delta": 0.1713,
          "percent_delta": 0.2067,
          "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.8287,
          "after": 1.0,
          "delta": 0.1713,
          "percent_delta": 0.2067,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7286,
          "after": 0.0,
          "delta": -0.7286,
          "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.224,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.355,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Market blend not applied: no props for this hitter",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 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.224,
        "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.279,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.355,
        "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.062,
        "after": 0.0,
        "delta": -0.062,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.692,
        "after": 4.0,
        "delta": 1.308,
        "percent_delta": 0.4859,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.224,
        "delta": -0.015,
        "percent_delta": -0.0628,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.108,
        "after": 0.0,
        "delta": -0.108,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "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.247,
        "after": 0.279,
        "delta": 0.032,
        "percent_delta": 0.1296,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.354,
        "after": 0.0,
        "delta": -0.354,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.329,
        "after": 0.355,
        "delta": 0.026,
        "percent_delta": 0.079,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.554,
        "after": 1.0,
        "delta": 0.446,
        "percent_delta": 0.8051,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.692,
        "after": 4.0,
        "delta": 1.308,
        "percent_delta": 0.4859,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.354,
        "after": 0.0,
        "delta": -0.354,
        "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.062-
predicted_3B0.015-
predicted_AB2.692-
predicted_AVG0.239-
predicted_BB0.108-
predicted_H0.260-
predicted_HR0.040-
predicted_OBP0.247-
predicted_R0.354-
predicted_RBI0.100-
predicted_SLG0.329-
predicted_SO0.554-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.058-0.004
predicted_3B0.013-0.002
predicted_AB2.7710.079
predicted_AVG0.2420.003
predicted_BB0.106-0.002
predicted_H0.4430.183
predicted_HBP0.021-
predicted_HR0.0500.010
predicted_OBP0.2590.012
predicted_R0.354-0.000
predicted_RBI0.1520.052
predicted_SLG0.3330.004
predicted_SO0.5700.016
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0580.000
predicted_3B0.0130.000
predicted_AB2.7710.000
predicted_AVG0.159-0.082
predicted_BB0.106-0.000
predicted_H0.441-0.002
predicted_HBP0.0210.000
predicted_HR0.050-0.000
predicted_OBP0.190-0.069
predicted_R0.351-0.002
predicted_RBI0.151-0.001
predicted_SLG0.244-0.089
predicted_SO0.5720.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.77), rates preserved: AVG=0.152 HR/AB=0.018

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.1420.142
3B0.0110.011
BB0.2220.222
H0.729-0.271
HR0.0870.087
RBI0.3160.316
SO0.829-0.171
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.142
3B0.000-0.011
AB3.0000.000
AVG0.224-
BB0.000-0.222
H0.000-0.729
HR0.000-0.087
OBP0.279-
R0.0000.000
RBI0.000-0.316
SLG0.355-
SO1.0000.171
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.058
predicted_3B0.000-0.013
predicted_AB3.0000.229
predicted_AVG0.2240.065
predicted_BB0.000-0.106
predicted_H0.000-0.441
predicted_HR0.000-0.050
predicted_OBP0.2790.089
predicted_R0.000-0.351
predicted_RBI0.000-0.151
predicted_SLG0.3550.111
predicted_SO1.0000.428
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Market blend not applied: no props for this hitter

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000
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: 65
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0004.0000.0000.0000.0000.0001.0000.0003.0000.30770.30770.30770.30770.00000.00000.00000.2308
last_100.2010-30.0008.0000.0000.0001.0004.0004.0001.0005.0000.26670.29030.36670.26670.03330.13330.03330.1667
season0.6065-175.00038.0004.0001.0004.00013.00023.0007.00036.0000.21710.25410.32000.21710.02290.07430.04000.2057
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0530
predicted_3B0.0100
predicted_AB2.8840
predicted_AVG0.2455
predicted_BB0.1040
predicted_H0.7080
predicted_HBP0.0210
predicted_HR0.0650
predicted_OBP0.2767
predicted_R0.3530
predicted_RBI0.2280
predicted_SLG0.3381
predicted_SO0.5940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06200.05300.0583model_form_blend
predicted_3B0.01500.01000.0130model_form_blend
predicted_AB2.69202.88402.7706model_form_blend
predicted_AVG0.23900.24550.2417model_form_blend
predicted_BB0.10800.10400.1064model_form_blend
predicted_H0.26000.70800.4433model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.04000.06500.0502model_form_blend
predicted_OBP0.24700.27670.2592model_form_blend
predicted_R0.35400.35300.3536model_form_blend
predicted_RBI0.10000.22800.1524model_form_blend
predicted_SLG0.32900.33810.3327model_form_blend
predicted_SO0.55400.59400.5704model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date203
Season rows before report date203
Report year2026
Profile rows used65
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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_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
allPositionsPlayedCF
gameID20261008_CLE@CHW
game_typeshort
mlbID690984
playerID690984
playerNamePetey Halpin
posCF
startedFalse
startingPositionCF
teamCLE
teamID8
game_date2026-10-08
sl_k_percent17.9
sl_bb_percent4.6
sl_woba0.264
sl_xwoba0.295
sl_xba0.252
sl_xslg0.377
sl_sweet_spot_percent38.3
sl_barrel_batted_rate5.4
sl_hard_hit_percent25.5
sl_exit_velocity_avg85.5
sl_launch_angle_avg20.8
sl_whiff_percent25.1
sl_swing_percent59.0
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 572
All-history rows before 20261010: 572
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2501
Diff (system - data): 0.0009
System opponent_avg: 0.2760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1630.0000.000Hitting_2B0.1640.000-0.1640.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.4844.0004.000Hitting_AB3.6002.0000.4002.000
predicted_AVG0.2540.2500.250Hitting_AVG0.2500.000-0.0000.250
predicted_BB0.2550.0000.000Hitting_BB0.2592.000-0.259-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.8601.0001.000Hitting_H0.9000.0000.1001.000
predicted_HR0.1200.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.3310.2500.250Hitting_OBP0.3130.500-0.063-0.250
predicted_R0.4251.0001.000Hitting_R0.4371.0000.5630.000
predicted_RBI0.4600.0000.000Hitting_RBI0.4420.000-0.4420.000
predicted_SLG0.4210.2500.250Hitting_SLG0.3710.000-0.1210.250
predicted_SO0.5560.0000.000Hitting_SO0.5790.000-0.5790.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_R: 0.4250 -> 1.0000 (boost 0.5750, better)
Biggest Deboostpredicted_SO: 0.5560 -> 0.0000 (deboost -0.5560, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_R: 0.4250 -> 0.4769 (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_snapshot30303-predicted_OBP: 0.3372 -> 0.3156 (deboost -0.0216, 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.5172 -> 1.0000 (boost 0.4828, worse)predicted_RBI: 0.4708 -> 0.0000 (deboost -0.4708, worse)AB rounded to 3 (raw=3.48), rates preserved: AVG=0.240 HR/AB=0.041
6consistency_constraints10101-predicted_R: 0.4738 -> 0.0000 (deboost -0.4738, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3807 (boost 0.3807, better)predicted_SO: 1.0000 -> 0.6117 (deboost -0.3883, 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_allocation102819predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 0.7414 -> 0.0000 (deboost -0.7414, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization32130predicted_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_final11010predicted_OBP: 0.2970 -> 0.3020 (boost 0.0050, 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.163,
        "predicted_3B": 0.013,
        "predicted_AB": 3.484,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.255,
        "predicted_H": 0.86,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.331,
        "predicted_R": 0.425,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.421,
        "predicted_SO": 0.556
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1704,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4352,
        "predicted_AVG": 0.2614,
        "predicted_BB": 0.2999,
        "predicted_H": 0.8831,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1448,
        "predicted_OBP": 0.3372,
        "predicted_R": 0.4769,
        "predicted_RBI": 0.4739,
        "predicted_SLG": 0.4495,
        "predicted_SO": 0.5159
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2614,
          "delta": 0.0074,
          "percent_delta": 0.0291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3372,
          "delta": 0.0062,
          "percent_delta": 0.0187,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.425,
          "after": 0.4769,
          "delta": 0.0519,
          "percent_delta": 0.1221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.4495,
          "delta": 0.0285,
          "percent_delta": 0.0677,
          "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.425,
          "after": 0.4769,
          "delta": 0.0519,
          "percent_delta": 0.1221,
          "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": 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.1704,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4352,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.2992,
        "predicted_H": 0.8793,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1435,
        "predicted_OBP": 0.3156,
        "predicted_R": 0.4738,
        "predicted_RBI": 0.4708,
        "predicted_SLG": 0.4372,
        "predicted_SO": 0.5172
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2614,
          "after": 0.256,
          "delta": -0.0054,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3372,
          "after": 0.3156,
          "delta": -0.0216,
          "percent_delta": -0.0641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4495,
          "after": 0.4372,
          "delta": -0.0123,
          "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.3372,
          "after": 0.3156,
          "delta": -0.0216,
          "percent_delta": -0.0641,
          "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.48), rates preserved: AVG=0.240 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.1704,
          "after": 0.0,
          "delta": -0.1704,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4352,
          "after": 3.0,
          "delta": -0.4352,
          "percent_delta": -0.1267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2992,
          "after": 0.0,
          "delta": -0.2992,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8793,
          "after": 1.0,
          "delta": 0.1207,
          "percent_delta": 0.1373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1435,
          "after": 0.0,
          "delta": -0.1435,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4708,
          "after": 0.0,
          "delta": -0.4708,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5172,
          "after": 1.0,
          "delta": 0.4828,
          "percent_delta": 0.9335,
          "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.5172,
          "after": 1.0,
          "delta": 0.4828,
          "percent_delta": 0.9335,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4708,
          "after": 0.0,
          "delta": -0.4708,
          "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.4738,
          "after": 0.0,
          "delta": -0.4738,
          "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.4738,
          "after": 0.0,
          "delta": -0.4738,
          "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.1519,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.265,
        "predicted_H": 0.7414,
        "predicted_HR": 0.0786,
        "predicted_RBI": 0.3807,
        "predicted_SO": 0.6117
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1519,
          "delta": 0.1519,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.265,
          "delta": 0.265,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7414,
          "delta": -0.2586,
          "percent_delta": -0.2586,
          "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.3807,
          "delta": 0.3807,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6117,
          "delta": -0.3883,
          "percent_delta": -0.3883,
          "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.3807,
          "delta": 0.3807,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6117,
          "delta": -0.3883,
          "percent_delta": -0.3883,
          "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1519,
          "after": 0.0,
          "delta": -0.1519,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.232,
          "delta": -0.024,
          "percent_delta": -0.0937,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.265,
          "after": 0.0,
          "delta": -0.265,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7414,
          "after": 0.0,
          "delta": -0.7414,
          "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.3156,
          "after": 0.297,
          "delta": -0.0186,
          "percent_delta": -0.0589,
          "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.3807,
          "after": 0.0,
          "delta": -0.3807,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4372,
          "after": 0.36,
          "delta": -0.0772,
          "percent_delta": -0.1766,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6117,
          "after": 1.0,
          "delta": 0.3883,
          "percent_delta": 0.6348,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 2,
        "deboosted_metrics": 8,
        "better_metrics": 1,
        "worse_metrics": 9,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7414,
          "after": 0.0,
          "delta": -0.7414,
          "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 1.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": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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": 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.23,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.362,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.302,
          "delta": 0.005,
          "percent_delta": 0.0168,
          "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.297,
          "after": 0.302,
          "delta": 0.005,
          "percent_delta": 0.0168,
          "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.484,
        "after": 4.0,
        "delta": 0.516,
        "percent_delta": 0.1481,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.254,
        "after": 0.23,
        "delta": -0.024,
        "percent_delta": -0.0945,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.255,
        "after": 0.0,
        "delta": -0.255,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.86,
        "after": 1.0,
        "delta": 0.14,
        "percent_delta": 0.1628,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.331,
        "after": 0.302,
        "delta": -0.029,
        "percent_delta": -0.0876,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.425,
        "after": 1.0,
        "delta": 0.575,
        "percent_delta": 1.3529,
        "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.421,
        "after": 0.362,
        "delta": -0.059,
        "percent_delta": -0.1401,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.556,
        "after": 0.0,
        "delta": -0.556,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.425,
        "after": 1.0,
        "delta": 0.575,
        "percent_delta": 1.3529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.556,
        "after": 0.0,
        "delta": -0.556,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.484-
predicted_AVG0.254-
predicted_BB0.255-
predicted_H0.860-
predicted_HR0.120-
predicted_OBP0.331-
predicted_R0.425-
predicted_RBI0.460-
predicted_SLG0.421-
predicted_SO0.556-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1700.007
predicted_3B0.011-0.002
predicted_AB3.435-0.049
predicted_AVG0.2610.007
predicted_BB0.3000.045
predicted_H0.8830.023
predicted_HBP0.041-
predicted_HR0.1450.025
predicted_OBP0.3370.006
predicted_R0.4770.052
predicted_RBI0.4740.014
predicted_SLG0.4500.029
predicted_SO0.516-0.040
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1700.000
predicted_3B0.0110.000
predicted_AB3.4350.000
predicted_AVG0.256-0.005
predicted_BB0.299-0.001
predicted_H0.879-0.004
predicted_HBP0.0410.000
predicted_HR0.143-0.001
predicted_OBP0.316-0.022
predicted_R0.474-0.003
predicted_RBI0.471-0.003
predicted_SLG0.437-0.012
predicted_SO0.5170.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.48), rates preserved: AVG=0.240 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.1520.152
3B0.0100.010
BB0.2650.265
H0.741-0.259
HR0.0790.079
RBI0.3810.381
SO0.612-0.388
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.010
AB3.0000.000
AVG0.232-
BB0.000-0.265
H0.000-0.741
HR0.000-0.079
OBP0.297-
R1.0001.000
RBI0.000-0.381
SLG0.360-
SO1.0000.388
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.170
predicted_3B0.000-0.011
predicted_AB3.000-0.435
predicted_AVG0.232-0.024
predicted_BB0.000-0.299
predicted_H0.000-0.879
predicted_HR0.000-0.143
predicted_OBP0.297-0.019
predicted_R1.0000.526
predicted_RBI0.000-0.471
predicted_SLG0.360-0.077
predicted_SO1.0000.483
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

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

MetricValueDelta vs Prev Step
12. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0001.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
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
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: 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.0001.0000.0002.0003.0004.0003.0001.0000.33330.44440.80000.33330.13330.20000.20000.0667
last_100.2010-33.0009.0002.0000.0002.0005.0006.0004.0004.0000.27270.35140.51520.27270.06060.15150.12120.1212
season0.60153-533.000134.00025.0002.00013.00068.00065.00039.00085.0000.25140.31350.37900.25140.02440.12760.07320.1595
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1800
predicted_3B0.0080
predicted_AB3.3720
predicted_AVG0.2709
predicted_BB0.3580
predicted_H0.9130
predicted_HBP0.0410
predicted_HR0.1770
predicted_OBP0.3452
predicted_R0.5440
predicted_RBI0.4920
predicted_SLG0.4864
predicted_SO0.4640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16300.18000.1704model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.48403.37203.4352model_form_blend
predicted_AVG0.25400.27090.2614model_form_blend
predicted_BB0.25500.35800.2999model_form_blend
predicted_H0.86000.91300.8831model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.12000.17700.1448model_form_blend
predicted_OBP0.33100.34520.3372model_form_blend
predicted_R0.42500.54400.4769model_form_blend
predicted_RBI0.46000.49200.4739model_form_blend
predicted_SLG0.42100.48640.4495model_form_blend
predicted_SO0.55600.46400.5159model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date572
Season rows before report date572
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
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.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
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
gameID20261008_CLE@CHW
game_typefull
mlbID677587
playerID677587
playerNameBrayan Rocchio
posSS
startedTrue
startingPositionSS
teamCLE
teamID8
game_date2026-10-08
sl_k_percent14.4
sl_bb_percent6.4
sl_woba0.311
sl_xwoba0.294
sl_xba0.246
sl_xslg0.35
sl_sweet_spot_percent34.9
sl_barrel_batted_rate2.9
sl_hard_hit_percent30.0
sl_exit_velocity_avg87.0
sl_launch_angle_avg13.8
sl_whiff_percent22.1
sl_swing_percent50.0
Gavin Williams (668909) · PITCHER · Starter · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 34
All-history rows before 20261010: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB4.0004.0004.000Pitching_BB1.8820.0002.1184.000
predicted_ER1.0001.0001.000Pitching_ER2.3240.000-1.3241.000
predicted_H2.0002.0002.000Pitching_H4.3821.000-2.3821.000
predicted_IP4.2004.2004.200Pitching_InningsPitched5.4881.000-1.2883.200
predicted_SO10.00010.00010.000Pitching_SO7.6471.0002.3539.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics6
Boosted Metrics2
Deboosted Metrics4
Better Metrics4
Worse Metrics2
Biggest Boostpredicted_SO: 7.0000 -> 10.0000 (boost 3.0000, better)
Biggest Deboostpredicted_H: 9.0000 -> 2.0000 (deboost -7.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail20211-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_realization62442predicted_SO: 7.0000 -> 10.0000 (boost 3.0000, better)predicted_H: 9.0000 -> 2.0000 (deboost -7.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": "668909",
  "player_name": "Gavin Williams",
  "position": "Starter",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 4.0,
        "predicted_H": 9.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 9.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.1,
        "predicted_SO": 7.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_IP",
          "before": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 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": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_R": 1.0,
        "predicted_SO": 10.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 4.0,
          "delta": 2.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 9.0,
          "after": 2.0,
          "delta": -7.0,
          "percent_delta": -0.7778,
          "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.1,
          "after": 4.2,
          "delta": -0.9,
          "percent_delta": -0.1765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 10.0,
          "delta": 3.0,
          "percent_delta": 0.4286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 10.0,
          "delta": 3.0,
          "percent_delta": 0.4286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 9.0,
          "after": 2.0,
          "delta": -7.0,
          "percent_delta": -0.7778,
          "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": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_SO": 10.0
      },
      "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": 4.0,
        "delta": 2.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 1.0,
        "delta": -3.0,
        "percent_delta": -0.75,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 9.0,
        "after": 2.0,
        "delta": -7.0,
        "percent_delta": -0.7778,
        "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.3333,
        "after": 4.2,
        "delta": -1.1333,
        "percent_delta": -0.2125,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 10.0,
        "delta": 3.0,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 6,
      "boosted_metrics": 2,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 10.0,
        "delta": 3.0,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 9.0,
        "after": 2.0,
        "delta": -7.0,
        "percent_delta": -0.7778,
        "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_H9.000-
predicted_HR1.000-
predicted_IP5.333-
predicted_SO7.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER3.000-1.000
predicted_H9.0000.000
predicted_HR1.0000.000
predicted_IP5.100-0.233
predicted_SO7.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
BB4.000-
BF20.000-
ER1.000-
H2.000-
HR0.000-
IP4.200-
Pitches94.000-
R1.000-
SO10.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: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45521.1008.00017.00011.00032.0001.0003.37501.31250.37500.79690.51561.50000.0469
last_100.351045.20022.00040.00023.00075.0006.0004.33581.37960.48180.87590.50371.64230.1314
season0.2034190.10079.000149.00064.000260.00028.0003.73561.11910.41510.78280.33621.36600.1471
Weighted Prediction From Real Data
MetricValue
predicted_BB2.2230
predicted_ER2.0740
predicted_ERA3.8922
predicted_H4.0420
predicted_HR0.4940
predicted_IP4.2000
predicted_SO6.9410
predicted_WHIP1.3063
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00002.22302.1329model_form_blend
predicted_ER4.00002.07402.8524model_form_blend
predicted_ERA-3.89223.8922form_only
predicted_H9.00004.04206.0458model_form_blend
predicted_HR1.00000.49400.6985model_form_blend
predicted_IP5.10004.20005.0000model_form_blend
predicted_SO7.00006.94106.9648model_form_blend
predicted_WHIP-1.30631.3063form_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
IP4.2
H2
R1
ER1
BB4
SO10
HR0
BF20
Pitches94

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA3.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder8
allPositionsPlayedP
gameID20261008_CLE@CHW
game_typefull
mlbID668909
playerID668909
playerNameGavin Williams
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-08
sl_k_percent33.2
sl_bb_percent8.2
sl_woba0.294
sl_xwoba0.302
sl_sweet_spot_percent35.0
sl_barrel_batted_rate11.4
sl_hard_hit_percent46.6
sl_whiff_percent32.8
sl_swing_percent49.1
sl_avg_best_speed79.297357934
sl_avg_hyper_speed94.995264941
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 20261010: 70
All-history rows before 20261010: 70

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4141.000-0.414-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2710.000-0.2710.000
predicted_H0.0000.0000.000Pitching_H0.6711.000-0.671-1.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.6530.100-0.4530.100
predicted_SO1.0001.0001.000Pitching_SO0.8290.0000.1711.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: 0.0000 -> 1.0000 (boost 1.0000, better)
Biggest Deboostpredicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization31221predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better)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": "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": 1.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "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": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_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_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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF2.000-
ER0.000-
H0.000-
HR0.000-
IP0.200-
Pitches7.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: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0001.0005.0001.0007.0000.0002.25001.50000.25001.25000.25001.75000.0000
last_100.35108.0002.00010.0004.00011.0000.0002.25001.75000.25001.25000.50001.37500.0000
season0.207059.00019.00047.00029.00058.0005.0002.89831.28810.32200.79660.49150.98300.0848
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2750
predicted_ER0.2410
predicted_ERA3.0345
predicted_H0.7920
predicted_HR0.0390
predicted_IP0.2000
predicted_SO0.9360
predicted_WHIP1.4936
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27500.1450model_form_blend
predicted_ER1.00000.24100.5999model_form_blend
predicted_ERA-3.03453.0345form_only
predicted_H0.00000.79200.4175model_form_blend
predicted_HR0.00000.03900.0206model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.93600.4934model_form_blend
predicted_WHIP-1.49361.4936form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.1
Pitching_Pitches13
Pitching_R0
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261008_CLE@CHW
game_typefull
mlbID682120
playerID682120
playerNameTim Herrin
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-08
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
Shawn Armstrong (542888) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 44
All-history rows before 20261010: 44

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4320.000-0.4320.000
predicted_ER0.0000.0000.000Pitching_ER0.4090.000-0.4090.000
predicted_H0.0000.0000.000Pitching_H0.6820.000-0.6820.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7111.2000.289-0.200
predicted_SO2.0002.0002.000Pitching_SO0.8642.0001.1360.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: 1.0000 -> 2.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization11010predicted_SO: 1.0000 -> 2.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": "542888",
  "player_name": "Shawn Armstrong",
  "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": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": 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": 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_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.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_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.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_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF3.000-
ER0.000-
H0.000-
HR0.000-
IP1.000-
Pitches17.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: 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.4555.2000.0001.0000.0005.0000.0000.00000.17650.00000.17650.00000.88230.0000
last_100.35109.1003.0005.0003.00010.0000.0002.89290.85710.32140.53570.32141.07140.0000
season0.204239.00012.00027.00017.00038.0003.0002.76921.12820.30770.69230.43590.97440.0769
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2690
predicted_ER0.3040
predicted_ERA2.7396
predicted_H0.6280
predicted_HR0.0660
predicted_IP1.0000
predicted_SO0.9540
predicted_WHIP0.8969
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26900.1314model_form_blend
predicted_ER0.00000.30400.1484model_form_blend
predicted_ERA-2.73962.7396form_only
predicted_H0.00000.62800.3067model_form_blend
predicted_HR0.00000.06600.0322model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.95400.9775model_form_blend
predicted_WHIP-0.89690.8969form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO2
HR0
BF3
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored1
Pitching_InningsPitched1.2
Pitching_Pitches19
Pitching_R0
Pitching_SO2
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261008_CLE@CHW
game_typefull
mlbID542888
playerID542888
playerNameShawn Armstrong
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-08
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
Daniel Espino (682982) · PITCHER · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 16
All-history rows before 20261010: 16

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5621.000-0.562-1.000
predicted_ER0.0000.0000.000Pitching_ER0.5001.000-0.500-1.000
predicted_H0.0000.0000.000Pitching_H0.9382.000-0.938-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9250.2000.0750.800
predicted_SO2.0002.0002.000Pitching_SO1.6882.0000.3120.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 -> 2.0000 (boost 2.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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization21120predicted_SO: 0.0000 -> 2.0000 (boost 2.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": "682982",
  "player_name": "Daniel Espino",
  "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": 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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.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": 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": "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": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.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": 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": "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_SO0.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF3.000-
ER0.000-
H0.000-
HR0.000-
IP1.000-
Pitches12.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: 16
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.1004.0004.0005.0006.0001.0008.30772.07690.92310.92311.15391.38460.2308
last_100.351010.2005.00010.0005.00015.0002.0004.21881.40620.46880.93750.46881.40620.1875
season0.201616.2008.00015.0009.00027.0003.0004.32001.44000.48000.90000.54001.62000.1800
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5490
predicted_ER0.5800
predicted_ERA5.2225
predicted_H0.9600
predicted_HR0.1710
predicted_IP1.0000
predicted_SO1.1400
predicted_WHIP1.5093
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.54900.8197model_form_blend
predicted_ER0.00000.58000.2319model_form_blend
predicted_ERA-5.22255.2225form_only
predicted_H0.00000.96000.3839model_form_blend
predicted_HR0.00000.17100.0684model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.14000.4559model_form_blend
predicted_WHIP-1.50931.5093form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO2
HR0
BF3
Pitches12

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA6.75
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches20
Pitching_R1
Pitching_SO2
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20261007_CLE@CHW
game_typefull
mlbID682982
playerID682982
playerNameDaniel Espino
posP
startedTrue
startingPositionP
teamCLE
teamID8
game_date2026-10-07
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
Hunter Gaddis (683769) · PITCHER · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 72
All-history rows before 20261010: 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_ER1.0001.0001.000Pitching_ER0.2780.0000.7221.000
predicted_H1.0001.0001.000Pitching_H0.8061.0000.1940.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7401.1000.260-0.100
predicted_SO2.0002.0002.000Pitching_SO0.8191.0001.1811.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics2
Worse Metrics2
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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization43122predicted_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": "683769",
  "player_name": "Hunter Gaddis",
  "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": 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 withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_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_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 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_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 2,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_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": "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_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER1.000-
H1.000-
HR0.000-
IP1.000-
Pitches14.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: 71
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0002.0006.0000.0002.0001.0004.50001.50000.50001.50000.00000.50000.2500
last_100.35108.2003.00012.0001.0006.0002.0003.11541.50000.34621.38460.11540.69230.2308
season0.207163.10019.00056.00020.00059.0007.0002.70001.20000.30000.88420.31580.93160.1105
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1610
predicted_ER0.3890
predicted_ERA3.9253
predicted_H1.1050
predicted_HR0.1750
predicted_IP1.0000
predicted_SO0.6520
predicted_WHIP1.4200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.16100.5526model_form_blend
predicted_ER0.00000.38900.2074model_form_blend
predicted_ERA-3.92533.9253form_only
predicted_H0.00001.10500.5893model_form_blend
predicted_HR0.00000.17500.0933model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.65200.8144model_form_blend
predicted_WHIP-1.42001.4200form_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 used71
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB0
SO2
HR0
BF4
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 Faced5
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches16
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20261008_CLE@CHW
game_typefull
mlbID683769
playerID683769
playerNameHunter Gaddis
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-08
sl_k_percent22.2
sl_bb_percent8.6
sl_woba0.3
sl_xwoba0.311
sl_sweet_spot_percent33.7
sl_barrel_batted_rate7.5
sl_hard_hit_percent29.9
sl_whiff_percent29.5
sl_swing_percent51.7
sl_avg_best_speed75.512971294
sl_avg_hyper_speed92.352765294
Tanner Bibee (676440) · PITCHER · Setup Man · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261010: 34
All-history rows before 20261010: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.6762.000-1.676-2.000
predicted_ER3.0003.0003.000Pitching_ER2.7352.0000.2651.000
predicted_H3.0003.0003.000Pitching_H5.1470.000-2.1473.000
predicted_IP0.2000.2000.200Pitching_InningsPitched5.4090.100-5.2090.100
predicted_SO1.0001.0001.000Pitching_SO4.3821.000-3.3820.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics4
Deboosted Metrics1
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_ER: 0.0000 -> 3.0000 (boost 3.0000, worse)
Biggest Deboostpredicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_run_redistribution33012predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)-Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
8play_by_play_realization53214predicted_ER: 1.0000 -> 3.0000 (boost 2.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
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": "676440",
  "player_name": "Tanner Bibee",
  "position": "Setup Man",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 7,
      "step": "pitcher_quality_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 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_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.2,
        "predicted_R": 3.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_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": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.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.0,
          "after": 0.2,
          "delta": -0.8,
          "percent_delta": -0.8,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.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_ER",
        "before": 0.0,
        "after": 3.0,
        "delta": 3.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_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 0.2,
        "delta": 0.1,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 4,
      "deboosted_metrics": 1,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 3.0,
        "delta": 3.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_IP0.100-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

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

MetricValueDelta vs Prev Step
7. pitcher_quality_run_redistribution

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0001.000
predicted_H1.0001.000
predicted_HR0.0000.000
predicted_IP1.0000.900
predicted_SO1.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-
BF5.000-
ER3.000-
H3.000-
HR1.000-
IP0.200-
Pitches16.000-
R3.000-
SO1.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: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45522.00018.00029.0006.00017.0003.0007.36361.59090.81821.31820.27270.77270.1364
last_100.351050.10034.00057.00019.00039.0006.0006.07951.50990.67551.13240.37750.77480.1192
season0.2034188.10093.000175.00057.000149.00029.0004.44421.23190.49380.92920.30260.79120.1540
Weighted Prediction From Real Data
MetricValue
predicted_BB1.3790
predicted_ER2.8910
predicted_ERA6.1126
predicted_H4.9000
predicted_HR0.5770
predicted_IP4.1000
predicted_SO3.3930
predicted_WHIP1.4750
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.37901.2258model_form_blend
predicted_ER0.00002.89101.7226model_form_blend
predicted_ERA-6.11266.1126form_only
predicted_H0.00004.90002.9196model_form_blend
predicted_HR0.00000.57700.3438model_form_blend
predicted_IP0.10004.10002.2000model_form_blend
predicted_SO1.00003.39302.4258model_form_blend
predicted_WHIP-1.47501.4750form_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
IP0.2
H3
R3
ER3
BB0
SO1
HR1
BF5
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_BB2
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER2
Pitching_ERA54.00
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches15
Pitching_R2
Pitching_SO1
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261008_CLE@CHW
game_typefull
mlbID676440
playerID676440
playerNameTanner Bibee
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-08
sl_k_percent19.0
sl_bb_percent7.1
sl_woba0.316
sl_xwoba0.32
sl_sweet_spot_percent35.4
sl_barrel_batted_rate8.5
sl_hard_hit_percent39.3
sl_whiff_percent23.6
sl_swing_percent47.2
sl_avg_best_speed78.48833
sl_avg_hyper_speed93.901466726