Ultra Detailed Player Audit - 20261013

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.

20261013_CLE@TB

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 5, "confidence": 0.5787873499999999, "home_win_probability": 0.5787873499999999, "away_win_probability": 0.4212126500000001, "predicted_score_text": "CLE 4 - 5 TB", "uncapped_home_win_probability": 0.592691, "uncapped_away_win_probability": 0.407309, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.592691, "discount_factor": 0.85, "published_confidence": 0.578787, "guardrail_confidence_cap": null, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": false, "confidence_before_ceiling": 0.578787, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.664546, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.578787, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 5, "predicted_score_text": "CLE 4 - 5 TB", "confidence": 0.5787873499999999, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "CLE 4 - 5 TB", "winner": "TB"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "CLE 4 - 5 TB", "winner": "TB"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0635, "recent_form_edge_home_minus_away": -0.33, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 5, "winner": "TB", "model_winner": "TB", "simulation_winner": "TB", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "TB", "published_winner_draw_share": 0.5, "draw_majority_team": null, "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 5}, "simulation_score": {"away_runs": 4, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.1902, "winner": "TB", "score_reviewed": {"away_runs": 4, "home_runs": 5, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionCLE 4 - 5 TBTB0.579enhanced_prediction.pre_simulation_targetTrue
Simulation drawCLE 4 - 5 TBTB-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.7159; empirical=0.5633; weight=0.4500; final=0.6472
P1H2H margin as base featureavailablehome net=11; abs=11; home delta=0.0635; away delta=-0.0635
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.5833; recent edge=-0.5400; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5788
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.0585.326-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5788Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run)
4kpi_layer45-Savant KPI blend computed and withheld; baseline kept
5embedded_savant_run_environment45-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review45-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target45-Capped at max 12 realistic runs
8simulation_result45-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.540566526108066,
  "base_low_score_probability": 0.4283476898981989,
  "low_score_signal_threshold": 0.5083476898981989,
  "low_score_signal_strength": 0.11221883620986711,
  "confidence": 0.7309903600000003,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.2619807200000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 9,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 300,
  "near_bucket_sample_size": 300,
  "medium_bucket_sample_size": 546,
  "wide_bucket_sample_size": 996,
  "global_sample_size": 1142,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5633,
  "bayesian_hit_rate": 0.5597,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.6312,
  "raw_pick_probability_unclamped": 0.6312,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.6003,
  "margin_implied_pick_probability": 0.6003,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.6173,
  "score_implied_floor_pick_probability": 0.5966,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.631194,
  "uncapped_away_win_probability": 0.368806,
  "calibrated_pick_probability": 0.613,
  "predicted_side": "home",
  "reliability": 0.943396,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.963208
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.715906,
  "sample_size": 300,
  "empirical_hit_rate": 0.5633,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.647234,
  "published_confidence": 0.578787,
  "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": 11.0,
  "absolute_net_margin": 11.0,
  "home_average_margin": 2.2,
  "home_run_delta": 0.0635,
  "away_run_delta": -0.0635,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": 3.0
    },
    {
      "game_id": null,
      "home_margin": 8.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049382716049383,
    "runs_scored": 736,
    "runs_allowed": 650,
    "run_differential": 86,
    "run_differential_per_game": 0.5308641975308642,
    "available": true
  },
  "away": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5246913580246914,
    "runs_scored": 678,
    "runs_allowed": 667,
    "run_differential": 11,
    "run_differential_per_game": 0.06790123456790123,
    "available": true
  },
  "run_differential_edge_per_game": 0.463,
  "win_pct_edge": 0.0802,
  "quality_edge": 0.1902,
  "season_quality_edge": 0.5833,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.5833,
    "recent_quality_edge": -0.54,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": 0.1902
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.01858894215113715
    },
    {
      "home_runs": 5,
      "away_runs": 3,
      "probability": 0.01823254026548683
    },
    {
      "home_runs": 6,
      "away_runs": 4,
      "probability": 0.017871873407969342
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.017706734622979586
    },
    {
      "home_runs": 6,
      "away_runs": 3,
      "probability": 0.017529219730803833
    }
  ],
  "home_distribution": {
    "0": 0.040591594065302376,
    "1": 0.06058365623924346,
    "2": 0.08280833615192372,
    "3": 0.10365537895172107,
    "4": 0.11882527690237657,
    "5": 0.1247455414825346,
    "6": 0.11993348020871991,
    "7": 0.1055978427100654,
    "8": 0.08514690411650477,
    "9": 0.062875562600182,
    "10": 0.04252008385986584,
    "11": 0.02633331576680318,
    "12": 0.014935376928641117,
    "13": 0.0077575759160504335,
    "14": 0.0036900741000655502
  },
  "away_distribution": {
    "0": 0.06654592698718921,
    "1": 0.09767154705986276,
    "2": 0.1269604023195836,
    "3": 0.14615785100455503,
    "4": 0.14901488205684493,
    "5": 0.13455219085886888,
    "6": 0.10759833213765,
    "7": 0.07620332842950901,
    "8": 0.047796487071290215,
    "9": 0.026550435616996895,
    "10": 0.013061737739383798,
    "11": 0.005690938648229528,
    "12": 0.002195940070035903
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "reasons": [],
  "signals": {
    "predicted_team": "TB",
    "opponent_team": "CLE",
    "h2h_net_margin": 12,
    "recent_h2h": [
      {
        "date": "2026-07-26",
        "predicted_team_runs": 1,
        "opponent_runs": 0,
        "margin_for_predicted_team": 1,
        "winner": "TB"
      },
      {
        "date": "2026-07-25",
        "predicted_team_runs": 3,
        "opponent_runs": 0,
        "margin_for_predicted_team": 3,
        "winner": "TB"
      },
      {
        "date": "2026-07-24",
        "predicted_team_runs": 11,
        "opponent_runs": 3,
        "margin_for_predicted_team": 8,
        "winner": "TB"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 1,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260725",
          "away": "CLE",
          "home": "TB",
          "game_number": 1,
          "predicted_team": "TB",
          "actual_winner": "TB",
          "actual_margin": 3,
          "raw_pick_probability": 0.53,
          "artifact": "20260725_CLE@TB.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "TB",
    "guardrail_opponent_team": "CLE",
    "output_pre_simulation_winner": "TB",
    "output_opponent_team": "CLE",
    "simulation_score_winner": "TB",
    "final_score_winner": "TB",
    "pre_simulation_winner": "TB",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "TB",
      "games": 162,
      "wins": 98,
      "losses": 64,
      "win_pct": 0.6049382716049383,
      "runs_scored": 736,
      "runs_allowed": 650,
      "run_differential": 86,
      "run_differential_per_game": 0.5308641975308642,
      "available": true
    },
    "away": {
      "team": "CLE",
      "games": 162,
      "wins": 85,
      "losses": 77,
      "win_pct": 0.5246913580246914,
      "runs_scored": 678,
      "runs_allowed": 667,
      "run_differential": 11,
      "run_differential_per_game": 0.06790123456790123,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 1.3934,
  "final_margin": 1.3934,
  "margin_cap": 1.5,
  "season_quality_edge": 0.1902,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.647234,
  "final_confidence": 0.613,
  "calibrated_pick_probability": 0.613,
  "shrinkage_weight": 0.963208,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 1.3934,
  "calibration_sample_size": 300,
  "calibration_empirical_hit_rate": 0.5633,
  "calibration_bayesian_hit_rate": 0.5597,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.1902,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "margin": 1,
    "probability_before": 0.612994,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.963208,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.592691,
    "aligned_pick_probability": 0.592691
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 31,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "CLE 4 - 5 TB",
    "winner": "TB"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "CLE 4 - 5 TB",
    "winner": "TB"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0635,
    "recent_form_edge_home_minus_away": -0.33,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 5,
    "winner": "TB",
    "model_winner": "TB",
    "simulation_winner": "TB",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "TB",
      "published_winner_draw_share": 0.5,
      "draw_majority_team": null,
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.1902,
    "winner": "TB",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 5,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 5,
  "confidence": 0.5787873499999999,
  "home_win_probability": 0.5787873499999999,
  "away_win_probability": 0.4212126500000001,
  "predicted_score_text": "CLE 4 - 5 TB",
  "uncapped_home_win_probability": 0.592691,
  "uncapped_away_win_probability": 0.407309,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.592691,
    "discount_factor": 0.85,
    "published_confidence": 0.578787,
    "guardrail_confidence_cap": null,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": false,
    "confidence_before_ceiling": 0.578787,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.664546,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.578787,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 5,
    "predicted_score_text": "CLE 4 - 5 TB",
    "confidence": 0.5787873499999999,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CLE 4 - 5 TB",
      "winner": "TB"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CLE 4 - 5 TB",
      "winner": "TB"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0635,
      "recent_form_edge_home_minus_away": -0.33,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 5,
      "winner": "TB",
      "model_winner": "TB",
      "simulation_winner": "TB",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "TB",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.1902,
      "winner": "TB",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away CLETrue1.02201.0220190
Home TBTrue0.99610.9961190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFSteven Kwan-1.00070.0095neutral0.32800.27700.34300.4010.5083.9012.808.209.7013.30-0.1714
3BJosé Ramírez-1.03590.4788neutral0.32500.26600.39104.1038.8088.601915.3012.70110.6857
RFChase DeLauter-1.06020.8032neutral0.34600.27700.42706.3046.3091.4011.801514.7010.70-0.3714
DHJo Adell-1.05380.7179neutral0.32900.25700.44408.9044.9090.4016.2028.2023.805.200.6286
1BNathaniel Lowe-1.05550.7399neutral0.33500.26800.43708.4041.4089.6014.602223.108.900.1714
LFAngel Martínez-0.9984-0.0218neutral0.29900.25100.40107.2035.5087.5014.8020.7021.903.10-0.7714
2BTravis Bazzana-0.9817-0.2433neutral0.29900.22400.34705.2036.2087.6015.7023.2020.7010.80-0.8286
CPatrick Bailey-1.03300.4406positive_batter_regression0.30700.24000.39807.7042.4090.5013.4026.8026.708.101.0286
SSBrayan Rocchio-0.9791-0.2783neutral0.29400.24600.35002.90308713.8022.1014.406.40-0.4857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHYandy Díaz-1.06260.8349neutral0.34600.28100.43907.1048.1090.90614.8014.308.20-0.1143
1BJonathan Aranda-1.06320.8421neutral0.34300.25400.43809.904691.1014.4022.5024.4010.30-0.1429
3BJunior Caminero-1.09421.2566neutral0.36400.27300.499013.1049.7092.7010.4024.1018.4011.30-0.3143
RFRyan Vilade-1.03380.4503neutral0.32700.25200.42107.1039.9089.201723.6023.409.400
CFJonny DeLuca-0.9339-0.8814negative_batter_regression0.26100.23200.32503.6030.2085.8013.9024.9021.104.60-1.6000
LFChandler Simpson-0.9254-0.9949negative_batter_regression0.26300.26100.2970013.6083.701.2010.807.804.20-1.2000
CNick Fortes-0.9520-0.6402neutral0.27300.23900.32602.4035.4085.408.3018.3013.903.70-0.8000
2BJorge Mateo-0.9871-0.1721neutral0.27200.22100.35807.903587.3014.503231.2050.6857
SSTaylor Walls-0.9131-1.1589neutral0.25100.19000.26102.2021.9085.6019.402224.2010.40-0.7714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 0.9961,
    "raw_average_factor": 0.9961,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "650490",
        "player_name": "Yandy Díaz",
        "offense_factor": 1.0626,
        "quality_score": 0.8349,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "650490",
          "espn_rank": null
        },
        "metrics": {
          "pa": 642.0,
          "k_percent": 14.3,
          "bb_percent": 8.2,
          "woba": 0.35,
          "xwoba": 0.346,
          "xba": 0.281,
          "xslg": 0.439,
          "sweet_spot_percent": 29.7,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 48.1,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 6.0,
          "whiff_percent": 14.8,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": 0.9894,
          "regression_edge": -0.1143,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.2857,
          "xslg_edge": 1.0857,
          "barrel_edge": 0.1111,
          "hard_hit_edge": 1.5,
          "exit_velocity_edge": 1.0,
          "sweet_spot_edge": -0.6,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "666018",
        "player_name": "Jonathan Aranda",
        "offense_factor": 1.0632,
        "quality_score": 0.8421,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666018",
          "espn_rank": null
        },
        "metrics": {
          "pa": 625.0,
          "k_percent": 24.4,
          "bb_percent": 10.3,
          "woba": 0.348,
          "xwoba": 0.343,
          "xba": 0.254,
          "xslg": 0.438,
          "sweet_spot_percent": 38.8,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 46.0,
          "exit_velocity_avg": 91.1,
          "launch_angle_avg": 14.4,
          "whiff_percent": 22.5,
          "swing_percent": 46.7
        },
        "components": {
          "expected_quality": 1.0024,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.2571,
          "xba_edge": 0.5143,
          "xslg_edge": 1.0714,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 1.2,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": 0.9167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "691406",
        "player_name": "Junior Caminero",
        "offense_factor": 1.0942,
        "quality_score": 1.2566,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691406",
          "espn_rank": null
        },
        "metrics": {
          "pa": 640.0,
          "k_percent": 18.4,
          "bb_percent": 11.3,
          "woba": 0.375,
          "xwoba": 0.364,
          "xba": 0.273,
          "xslg": 0.499,
          "sweet_spot_percent": 27.1,
          "barrel_batted_rate": 13.1,
          "hard_hit_percent": 49.7,
          "exit_velocity_avg": 92.7,
          "launch_angle_avg": 10.4,
          "whiff_percent": 24.1,
          "swing_percent": 44.4
        },
        "components": {
          "expected_quality": 1.5123,
          "regression_edge": -0.3143,
          "xwoba_edge": 1.8571,
          "xba_edge": 1.0571,
          "xslg_edge": 1.9429,
          "barrel_edge": 1.4444,
          "hard_hit_edge": 1.7286,
          "exit_velocity_edge": 1.72,
          "sweet_spot_edge": -1.0333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "668723",
        "player_name": "Ryan Vilade",
        "offense_factor": 1.0338,
        "quality_score": 0.4503,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "668723",
          "espn_rank": null
        },
        "metrics": {
          "pa": 237.0,
          "k_percent": 23.4,
          "bb_percent": 9.4,
          "woba": 0.327,
          "xwoba": 0.327,
          "xba": 0.252,
          "xslg": 0.421,
          "sweet_spot_percent": 29.9,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 39.9,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 17.0,
          "whiff_percent": 23.6,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": 0.5236,
          "regression_edge": 0.0,
          "xwoba_edge": 0.8,
          "xba_edge": 0.4571,
          "xslg_edge": 0.8286,
          "barrel_edge": 0.1111,
          "hard_hit_edge": 0.3286,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.5667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "676356",
        "player_name": "Jonny DeLuca",
        "offense_factor": 0.9339,
        "quality_score": -0.8814,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "676356",
          "espn_rank": null
        },
        "metrics": {
          "pa": 325.0,
          "k_percent": 21.1,
          "bb_percent": 4.6,
          "woba": 0.317,
          "xwoba": 0.261,
          "xba": 0.232,
          "xslg": 0.325,
          "sweet_spot_percent": 28.7,
          "barrel_batted_rate": 3.6,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 13.9,
          "whiff_percent": 24.9,
          "swing_percent": 52.9
        },
        "components": {
          "expected_quality": -0.7644,
          "regression_edge": -1.6,
          "xwoba_edge": -1.0857,
          "xba_edge": -0.1143,
          "xslg_edge": -0.5429,
          "barrel_edge": -0.6667,
          "hard_hit_edge": -1.0571,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -0.7667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "802415",
        "player_name": "Chandler Simpson",
        "offense_factor": 0.9254,
        "quality_score": -0.9949,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "802415",
          "espn_rank": null
        },
        "metrics": {
          "pa": 564.0,
          "k_percent": 7.8,
          "bb_percent": 4.2,
          "woba": 0.305,
          "xwoba": 0.263,
          "xba": 0.261,
          "xslg": 0.297,
          "sweet_spot_percent": 25.7,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 13.6,
          "exit_velocity_avg": 83.7,
          "launch_angle_avg": 1.2,
          "whiff_percent": 10.8,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": -0.9615,
          "regression_edge": -1.2,
          "xwoba_edge": -1.0286,
          "xba_edge": 0.7143,
          "xslg_edge": -0.9429,
          "barrel_edge": -1.4667,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.88,
          "sweet_spot_edge": -1.2667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "663743",
        "player_name": "Nick Fortes",
        "offense_factor": 0.952,
        "quality_score": -0.6402,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663743",
          "espn_rank": null
        },
        "metrics": {
          "pa": 297.0,
          "k_percent": 13.9,
          "bb_percent": 3.7,
          "woba": 0.301,
          "xwoba": 0.273,
          "xba": 0.239,
          "xslg": 0.326,
          "sweet_spot_percent": 25.2,
          "barrel_batted_rate": 2.4,
          "hard_hit_percent": 35.4,
          "exit_velocity_avg": 85.4,
          "launch_angle_avg": 8.3,
          "whiff_percent": 18.3,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": -0.6142,
          "regression_edge": -0.8,
          "xwoba_edge": -0.7429,
          "xba_edge": 0.0857,
          "xslg_edge": -0.5286,
          "barrel_edge": -0.9333,
          "hard_hit_edge": -0.3143,
          "exit_velocity_edge": -1.2,
          "sweet_spot_edge": -1.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "622761",
        "player_name": "Jorge Mateo",
        "offense_factor": 0.9871,
        "quality_score": -0.1721,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "622761",
          "espn_rank": null
        },
        "metrics": {
          "pa": 199.0,
          "k_percent": 31.2,
          "bb_percent": 5.0,
          "woba": 0.248,
          "xwoba": 0.272,
          "xba": 0.221,
          "xslg": 0.358,
          "sweet_spot_percent": 40.7,
          "barrel_batted_rate": 7.9,
          "hard_hit_percent": 35.0,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 14.5,
          "whiff_percent": 32.0,
          "swing_percent": 55.3
        },
        "components": {
          "expected_quality": -0.3329,
          "regression_edge": 0.6857,
          "xwoba_edge": -0.7714,
          "xba_edge": -0.4286,
          "xslg_edge": -0.0714,
          "barrel_edge": 0.2889,
          "hard_hit_edge": -0.3714,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 1.2333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "670764",
        "player_name": "Taylor Walls",
        "offense_factor": 0.9131,
        "quality_score": -1.1589,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "670764",
          "espn_rank": null
        },
        "metrics": {
          "pa": 398.0,
          "k_percent": 24.2,
          "bb_percent": 10.4,
          "woba": 0.278,
          "xwoba": 0.251,
          "xba": 0.19,
          "xslg": 0.261,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 21.9,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 19.4,
          "whiff_percent": 22.0,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": -1.222,
          "regression_edge": -0.7714,
          "xwoba_edge": -1.3714,
          "xba_edge": -1.3143,
          "xslg_edge": -1.4571,
          "barrel_edge": -0.9778,
          "hard_hit_edge": -2.2429,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.2,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.022,
    "raw_average_factor": 1.022,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "680757",
        "player_name": "Steven Kwan",
        "offense_factor": 1.0007,
        "quality_score": 0.0095,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680757",
          "espn_rank": null
        },
        "metrics": {
          "pa": 580.0,
          "k_percent": 9.7,
          "bb_percent": 13.3,
          "woba": 0.334,
          "xwoba": 0.328,
          "xba": 0.277,
          "xslg": 0.343,
          "sweet_spot_percent": 40.6,
          "barrel_batted_rate": 0.4,
          "hard_hit_percent": 10.5,
          "exit_velocity_avg": 83.9,
          "launch_angle_avg": 12.8,
          "whiff_percent": 8.2,
          "swing_percent": 35.7
        },
        "components": {
          "expected_quality": 0.039,
          "regression_edge": -0.1714,
          "xwoba_edge": 0.8286,
          "xba_edge": 1.1714,
          "xslg_edge": -0.2857,
          "barrel_edge": -1.3778,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.8,
          "sweet_spot_edge": 1.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "608070",
        "player_name": "José Ramírez",
        "offense_factor": 1.0359,
        "quality_score": 0.4788,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "608070",
          "espn_rank": null
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 12.7,
          "bb_percent": 11.0,
          "woba": 0.301,
          "xwoba": 0.325,
          "xba": 0.266,
          "xslg": 0.391,
          "sweet_spot_percent": 35.3,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 19.0,
          "whiff_percent": 15.3,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.4451,
          "regression_edge": 0.6857,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.8571,
          "xslg_edge": 0.4,
          "barrel_edge": -0.5556,
          "hard_hit_edge": 0.1714,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.3333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "800050",
        "player_name": "Chase DeLauter",
        "offense_factor": 1.0602,
        "quality_score": 0.8032,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "800050",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 10.7,
          "woba": 0.359,
          "xwoba": 0.346,
          "xba": 0.277,
          "xslg": 0.427,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 46.3,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 11.8,
          "whiff_percent": 15.0,
          "swing_percent": 42.3
        },
        "components": {
          "expected_quality": 0.9944,
          "regression_edge": -0.3714,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.1714,
          "xslg_edge": 0.9143,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 1.2429,
          "exit_velocity_edge": 1.2,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "666176",
        "player_name": "Jo Adell",
        "offense_factor": 1.0538,
        "quality_score": 0.7179,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666176",
          "espn_rank": null
        },
        "metrics": {
          "pa": 605.0,
          "k_percent": 23.8,
          "bb_percent": 5.2,
          "woba": 0.307,
          "xwoba": 0.329,
          "xba": 0.257,
          "xslg": 0.444,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 44.9,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.2,
          "whiff_percent": 28.2,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 0.7325,
          "regression_edge": 0.6286,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.6,
          "xslg_edge": 1.1571,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 1.0429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "663993",
        "player_name": "Nathaniel Lowe",
        "offense_factor": 1.0555,
        "quality_score": 0.7399,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663993",
          "espn_rank": null
        },
        "metrics": {
          "pa": 391.0,
          "k_percent": 23.1,
          "bb_percent": 8.9,
          "woba": 0.329,
          "xwoba": 0.335,
          "xba": 0.268,
          "xslg": 0.437,
          "sweet_spot_percent": 39.3,
          "barrel_batted_rate": 8.4,
          "hard_hit_percent": 41.4,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 14.6,
          "whiff_percent": 22.0,
          "swing_percent": 46.1
        },
        "components": {
          "expected_quality": 0.8325,
          "regression_edge": 0.1714,
          "xwoba_edge": 1.0286,
          "xba_edge": 0.9143,
          "xslg_edge": 1.0571,
          "barrel_edge": 0.4,
          "hard_hit_edge": 0.5429,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": 1.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "682657",
        "player_name": "Angel Martínez",
        "offense_factor": 0.9984,
        "quality_score": -0.0218,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682657",
          "espn_rank": null
        },
        "metrics": {
          "pa": 374.0,
          "k_percent": 21.9,
          "bb_percent": 3.1,
          "woba": 0.326,
          "xwoba": 0.299,
          "xba": 0.251,
          "xslg": 0.401,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 7.2,
          "hard_hit_percent": 35.5,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 14.8,
          "whiff_percent": 20.7,
          "swing_percent": 54.3
        },
        "components": {
          "expected_quality": 0.1002,
          "regression_edge": -0.7714,
          "xwoba_edge": 0.0,
          "xba_edge": 0.4286,
          "xslg_edge": 0.5429,
          "barrel_edge": 0.1333,
          "hard_hit_edge": -0.3,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "683953",
        "player_name": "Travis Bazzana",
        "offense_factor": 0.9817,
        "quality_score": -0.2433,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683953",
          "espn_rank": null
        },
        "metrics": {
          "pa": 473.0,
          "k_percent": 20.7,
          "bb_percent": 10.8,
          "woba": 0.328,
          "xwoba": 0.299,
          "xba": 0.224,
          "xslg": 0.347,
          "sweet_spot_percent": 30.0,
          "barrel_batted_rate": 5.2,
          "hard_hit_percent": 36.2,
          "exit_velocity_avg": 87.6,
          "launch_angle_avg": 15.7,
          "whiff_percent": 23.2,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": -0.1481,
          "regression_edge": -0.8286,
          "xwoba_edge": 0.0,
          "xba_edge": -0.3429,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.3111,
          "hard_hit_edge": -0.2,
          "exit_velocity_edge": -0.32,
          "sweet_spot_edge": -0.55,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "672275",
        "player_name": "Patrick Bailey",
        "offense_factor": 1.033,
        "quality_score": 0.4406,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "672275",
          "espn_rank": null
        },
        "metrics": {
          "pa": 306.0,
          "k_percent": 26.7,
          "bb_percent": 8.1,
          "woba": 0.271,
          "xwoba": 0.307,
          "xba": 0.24,
          "xslg": 0.398,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 42.4,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 13.4,
          "whiff_percent": 26.8,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": 0.3449,
          "regression_edge": 1.0286,
          "xwoba_edge": 0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.5,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.6857,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "677587",
        "player_name": "Brayan Rocchio",
        "offense_factor": 0.9791,
        "quality_score": -0.2783,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "677587",
          "espn_rank": null
        },
        "metrics": {
          "pa": 548.0,
          "k_percent": 14.4,
          "bb_percent": 6.4,
          "woba": 0.311,
          "xwoba": 0.294,
          "xba": 0.246,
          "xslg": 0.35,
          "sweet_spot_percent": 34.9,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 30.0,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 13.8,
          "whiff_percent": 22.1,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": -0.2445,
          "regression_edge": -0.4857,
          "xwoba_edge": -0.1429,
          "xba_edge": 0.2857,
          "xslg_edge": -0.1857,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -1.0857,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": 0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

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

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away CLEFoster GriffinTrue--0.084811.00720.98740.94001.0213neutral0.32000.311021.906.2023.208.3037
Home TBDrew RasmussenTrue-0.559710.95241.02170.91200.9183neutral0.27100.2430264.8025.105.9033.80

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CLEFoster GriffinTrueNone7886.02215000000000-0.2153
Home TBDrew RasmussenTrueNone9092.382355000000000.1407
Run FactorValue
away_runs_vs_home_pitcher0.9732
home_runs_vs_away_pitcher1.0070
home_pitcher_starter_only_factor0.9524
away_pitcher_starter_only_factor1.0072
home_pitcher_workload_share0.7037
away_pitcher_workload_share0.5926
home_pitcher_quality_edge0.4441
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "656876",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 645.0,
      "k_percent": 26.0,
      "bb_percent": 4.8,
      "woba": 0.243,
      "xwoba": 0.271,
      "sweet_spot_percent": 32.5,
      "barrel_batted_rate": 5.9,
      "hard_hit_percent": 33.8,
      "avg_best_speed": 77.4285,
      "avg_hyper_speed": 93.597,
      "whiff_percent": 25.1,
      "swing_percent": 50.1
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.906,
      "command_and_miss": 0.4657,
      "regression_edge": -0.8,
      "xwoba_edge": 1.1714,
      "barrel_edge": 0.2889,
      "hard_hit_edge": 0.5857,
      "whiff_edge": -0.0143,
      "bb_edge": 1.1,
      "pitch_design_score": 0.1407
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "656876",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 90,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 90,
        "pitch_usage": 0.0,
        "release_speed": 92.37588033984052,
        "release_spin_rate": 2355.1143668897917,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 90,
          "pitch_usage": 0.0,
          "release_speed": 92.37588033984052,
          "release_spin_rate": 2355.1143668897917,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 92.3759,
        "release_spin_rate": 2355.1144,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1407,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.0047,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.5597,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9524,
    "strikeout_factor": 1.0217,
    "walk_factor": 0.912,
    "homer_factor": 0.9183,
    "woba_minus_xwoba": -0.028,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "656876",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "656492",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 669.0,
      "k_percent": 21.9,
      "bb_percent": 6.2,
      "woba": 0.311,
      "xwoba": 0.32,
      "sweet_spot_percent": 36.6,
      "barrel_batted_rate": 8.3,
      "hard_hit_percent": 37.0,
      "avg_best_speed": 75.8086,
      "avg_hyper_speed": 93.9193,
      "whiff_percent": 23.2,
      "swing_percent": 48.4
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.0919,
      "command_and_miss": 0.0371,
      "regression_edge": -0.2571,
      "xwoba_edge": -0.2286,
      "barrel_edge": -0.2444,
      "hard_hit_edge": 0.1286,
      "whiff_edge": -0.2857,
      "bb_edge": 0.75,
      "pitch_design_score": -0.2153
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "656492",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 78,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 78,
        "pitch_usage": 0.0,
        "release_speed": 86.01981218316948,
        "release_spin_rate": 2149.763694103009,
        "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": 78,
          "pitch_usage": 0.0,
          "release_speed": 86.01981218316948,
          "release_spin_rate": 2149.763694103009,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 86.0198,
        "release_spin_rate": 2149.7637,
        "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.2153,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.5377,
        "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.0848,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0072,
    "strikeout_factor": 0.9874,
    "walk_factor": 0.94,
    "homer_factor": 1.0213,
    "woba_minus_xwoba": -0.009,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "656492",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9732,
    "home_runs_vs_away_pitcher": 1.007,
    "home_pitcher_starter_only_factor": 0.9524,
    "away_pitcher_starter_only_factor": 1.0072,
    "home_pitcher_workload_share": 0.7037,
    "away_pitcher_workload_share": 0.5926,
    "home_pitcher_quality_edge": 0.4441
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 5.0
  },
  "score_after": {
    "away_runs": 3.893,
    "home_runs": 5.0351,
    "home_win_probability": 0.6051
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away CLE8-20.8005.303.20211Lhotstrong
Home TB5-50.5003.803.2061Laveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away CLE85-770.525110.068True
Home TB98-640.605860.531True
Signal--0.4630.190applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-07-26CLE @ TB0 - 1TB1close
2026-07-25CLE @ TB0 - 3TB3blowout
2026-07-24CLE @ TB3 - 11TB8blowout
2026-04-29TB @ CLE1 - 3CLE2close
2026-04-28TB @ CLE1 - 0TB1close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CLE--4----
Game target TB--5----
Player finalized CLE36941437
Player finalized TB341150515
Player model fractional CLE33.006.914.020.964.222.797.33
Player model fractional TB32.378.034.160.973.662.156.70
Simulation box CLE36941437
Simulation box TB341150515

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 CLEStarterFoster Griffin5521015.291.57True
Away CLELong RelieverJoey Cantillo201103.071.24True
Away CLEMiddle RelieverTanner Bibee102006.111.47True
Home TBStarterDrew Rasmussen5.2035721.960.86True
Home TBLong RelieverIan Seymour212213.771.02True
Home TBMiddle Reliever (High Leverage)Cam Booser1.1000001.930.81True
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
awayCLEpitcherStarterFoster Griffinworse53205predicted_SO-6.0000deboostworse
homeTBpitcherStarterDrew Rasmussenworse52323predicted_H3.0000boostworse
awayCLEpitcherLong RelieverJoey Cantillobetter30321predicted_ER-2.0000deboostbetter
homeTBpitcherLong RelieverIan Seymourworse33012predicted_H2.0000boostworse
homeTBbatterLFChandler Simpsondeboosted104655predicted_H1.8600boostbetter
homeTBbatterDHYandy Díazworse114756predicted_AB-1.6300deboostworse
awayCLEbatter3BJosé Ramírezworse112938predicted_BB1.5000boostbetter
awayCLEbatterCFSteven Kwanworse103746predicted_R1.4470boostbetter
awayCLEbatterRFChase DeLauterbetter106473predicted_RBI1.4400boostbetter
awayCLEbatter1BNathaniel Loweworse115647predicted_H1.2700boostbetter
homeTBbatter1BJonathan Arandaworse123948predicted_AB-1.2600deboostworse
homeTBbatterRFRyan Viladebetter115665predicted_AB1.1700boostbetter
awayCLEbatterCPatrick Baileyworse1129110predicted_SO1.1170boostworse
awayCLEbatterLFAngel Martínezworse124839predicted_SO1.1080boostworse
homeTBbatterSSTaylor Wallsworse105546predicted_SO1.1080boostworse
homeTBbatterCFJonny DeLucabetter107382predicted_H1.1040boostbetter
homeTBbatterCNick Fortesbetter117465predicted_AB1.0100boostbetter
awayCLEpitcherMiddle RelieverTanner Bibeebetter21120predicted_BB-1.0000deboostbetter
homeTBbatter2BJorge Mateoworse127556predicted_SF1.0000boosthigher
homeTBbatter3BJunior Camineroworse105546predicted_H0.8400boostbetter
awayCLEbatterSSBrayan Rocchioworse113847predicted_H-0.7100deboostworse
awayCLEbatter2BTravis Bazzanaworse114738predicted_BB-0.4520deboostworse
homeTBpitcherMiddle Reliever (High Leverage)Cam Booserbetter11010predicted_IP0.4333boostbetter
awayCLEbatterDHJo Adellworse113838predicted_R-0.4290deboostworse

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

Away Team: CLE

Away Pitcher Deep Analysis

FieldValue
PitcherFoster Griffin
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0848
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2153
Avg Velo86.0198
Avg Spin2149.7637
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER5
Pre H10
Pre BB1
Pre SO2
Season ERA3.5932
Season WHIP1.2034
Role Avg IP5.5700
Recent Avg IP4.6670
Last Start IP6
Team Form Snapshot
{
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9327,
    "defense_index": 1.0899,
    "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": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0125,
    "defense_index": 1.1184,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0199,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0125,
    "defense_strength": 0.0899,
    "opponent_defense_weakness": -0.1184,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0014,
    "run_prevention": 0.994,
    "strikeout": 0.9984
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656492",
    "profile": {
      "available": true,
      "pitcher_id": "656492",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 669.0,
        "k_percent": 21.9,
        "bb_percent": 6.2,
        "woba": 0.311,
        "xwoba": 0.32,
        "sweet_spot_percent": 36.6,
        "barrel_batted_rate": 8.3,
        "hard_hit_percent": 37.0,
        "avg_best_speed": 75.8086,
        "avg_hyper_speed": 93.9193,
        "whiff_percent": 23.2,
        "swing_percent": 48.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.0919,
        "command_and_miss": 0.0371,
        "regression_edge": -0.2571,
        "xwoba_edge": -0.2286,
        "barrel_edge": -0.2444,
        "hard_hit_edge": 0.1286,
        "whiff_edge": -0.2857,
        "bb_edge": 0.75,
        "pitch_design_score": -0.2153
      },
      "quality_score": -0.0848,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0072,
      "strikeout_factor": 0.9874,
      "walk_factor": 0.94,
      "homer_factor": 1.0213,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656492",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0072,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 7.0,
        "factor": 1.0072,
        "adjusted": 7
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.94,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0213,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9874,
        "adjusted": 5
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 46.0,
    "ER": 26,
    "H": 57,
    "BB": 15,
    "SO": 49,
    "HR": 4,
    "ERA": 5.086956521739131,
    "WHIP": 1.565217391304348,
    "K9": 9.58695652173913,
    "HR9": 0.782608695652174,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-07T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656492",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 78,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 78,
    "pitch_usage": 0.0,
    "release_speed": 86.01981218316948,
    "release_spin_rate": 2149.763694103009,
    "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": 78,
      "pitch_usage": 0.0,
      "release_speed": 86.01981218316948,
      "release_spin_rate": 2149.763694103009,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.0198,
    "release_spin_rate": 2149.7637,
    "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.2153,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.5377,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656492",
  "report_date": "20261013",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 21.0,
        "ER": 15.0,
        "R": 15.0,
        "H": 32.0,
        "BB": 6.0,
        "SO": 26.0,
        "HR": 0.0,
        "BF": 102.0,
        "Pitches": 373.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.4,
        "BB": 1.2,
        "SO": 5.2,
        "HR": 0.0,
        "BF": 20.4,
        "Pitches": 74.6
      },
      "rates": {
        "ERA": 6.4286,
        "WHIP": 1.8095,
        "ER_per_IP": 0.71429,
        "H_per_IP": 1.52381,
        "BB_per_IP": 0.28571,
        "SO_per_IP": 1.2381,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 46.0,
        "ER": 26.0,
        "R": 28.0,
        "H": 57.0,
        "BB": 15.0,
        "SO": 49.0,
        "HR": 4.0,
        "BF": 208.0,
        "Pitches": 832.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.6,
        "R": 2.8,
        "H": 5.7,
        "BB": 1.5,
        "SO": 4.9,
        "HR": 0.4,
        "BF": 20.8,
        "Pitches": 83.2
      },
      "rates": {
        "ERA": 5.087,
        "WHIP": 1.5652,
        "ER_per_IP": 0.56522,
        "H_per_IP": 1.23913,
        "BB_per_IP": 0.32609,
        "SO_per_IP": 1.06522,
        "HR_per_IP": 0.08696
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 175.1,
        "ER": 70.0,
        "R": 77.0,
        "H": 166.0,
        "BB": 45.0,
        "SO": 165.0,
        "HR": 23.0,
        "BF": 732.0,
        "Pitches": 2886.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.1875,
        "R": 2.4062,
        "H": 5.1875,
        "BB": 1.4062,
        "SO": 5.1562,
        "HR": 0.7188,
        "BF": 22.875,
        "Pitches": 90.1875
      },
      "rates": {
        "ERA": 3.5932,
        "WHIP": 1.2034,
        "ER_per_IP": 0.39924,
        "H_per_IP": 0.94677,
        "BB_per_IP": 0.25665,
        "SO_per_IP": 0.94106,
        "HR_per_IP": 0.13118
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 2.787,
    "predicted_H": 5.999,
    "predicted_BB": 1.451,
    "predicted_SO": 5.185,
    "predicted_HR": 0.327,
    "predicted_ERA": 5.2884,
    "predicted_WHIP": 1.571
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4071,
  "form_weight": 0.5929,
  "form_reliability": 0.8649,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 4.2,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.787,
      "final": 2.8737,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.999,
      "final": 5.5923,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.451,
      "final": 0.8603,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 8.0,
      "form": 5.185,
      "final": 6.3309,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.327,
      "final": 0.1939,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.2884,
      "final": 5.2884,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.571,
      "final": 1.571,
      "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
PitcherJoey Cantillo
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0884
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2756
Avg Velo84.9428
Avg Spin2037.9691
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA3.6411
Season WHIP1.4253
Role Avg IP4.1670
Recent Avg IP4.1670
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9327,
    "defense_index": 1.0899,
    "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": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0125,
    "defense_index": 1.1184,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0199,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0125,
    "defense_strength": 0.0899,
    "opponent_defense_weakness": -0.1184,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0014,
    "run_prevention": 0.994,
    "strikeout": 0.9984
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676282",
    "profile": {
      "available": true,
      "pitcher_id": "676282",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 645.0,
        "k_percent": 24.9,
        "bb_percent": 11.8,
        "woba": 0.324,
        "xwoba": 0.308,
        "sweet_spot_percent": 32.4,
        "barrel_batted_rate": 7.5,
        "hard_hit_percent": 39.4,
        "avg_best_speed": 76.8927,
        "avg_hyper_speed": 93.8736,
        "whiff_percent": 29.1,
        "swing_percent": 44.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0018,
        "command_and_miss": 0.245,
        "regression_edge": 0.4571,
        "xwoba_edge": 0.1143,
        "barrel_edge": -0.0667,
        "hard_hit_edge": -0.2143,
        "whiff_edge": 0.5571,
        "bb_edge": -0.65,
        "pitch_design_score": -0.2756
      },
      "quality_score": 0.0884,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9925,
      "strikeout_factor": 1.0383,
      "walk_factor": 1.052,
      "homer_factor": 1.0105,
      "woba_minus_xwoba": 0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676282",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9925,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9925,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.052,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0105,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0383,
        "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": 42.0,
    "ER": 14,
    "H": 28,
    "BB": 27,
    "SO": 43,
    "HR": 2,
    "ERA": 3.0,
    "WHIP": 1.3095238095238095,
    "K9": 9.214285714285714,
    "HR9": 0.42857142857142855,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-07T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "676282",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 76,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 76,
    "pitch_usage": 0.0,
    "release_speed": 84.94276180316159,
    "release_spin_rate": 2037.9691151728498,
    "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": 76,
      "pitch_usage": 0.0,
      "release_speed": 84.94276180316159,
      "release_spin_rate": 2037.9691151728498,
      "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": 84.9428,
    "release_spin_rate": 2037.9691,
    "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.2756,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.9686,
    "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": "676282",
  "report_date": "20261013",
  "season_year": 2026,
  "rows_used": 34,
  "reference_playing_time": 2.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 19.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 9.0,
        "BB": 11.0,
        "SO": 21.0,
        "HR": 1.0,
        "BF": 77.0,
        "Pitches": 314.0
      },
      "per_game": {
        "IP": 3.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.8,
        "BB": 2.2,
        "SO": 4.2,
        "HR": 0.2,
        "BF": 15.4,
        "Pitches": 62.8
      },
      "rates": {
        "ERA": 2.3684,
        "WHIP": 1.0526,
        "ER_per_IP": 0.26316,
        "H_per_IP": 0.47368,
        "BB_per_IP": 0.57895,
        "SO_per_IP": 1.10526,
        "HR_per_IP": 0.05263
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 42.0,
        "ER": 14.0,
        "R": 20.0,
        "H": 28.0,
        "BB": 27.0,
        "SO": 43.0,
        "HR": 2.0,
        "BF": 178.0,
        "Pitches": 715.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 1.4,
        "R": 2.0,
        "H": 2.8,
        "BB": 2.7,
        "SO": 4.3,
        "HR": 0.2,
        "BF": 17.8,
        "Pitches": 71.5
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.3095,
        "ER_per_IP": 0.33333,
        "H_per_IP": 0.66667,
        "BB_per_IP": 0.64286,
        "SO_per_IP": 1.02381,
        "HR_per_IP": 0.04762
      }
    },
    "season": {
      "games": 34,
      "totals": {
        "IP": 160.2,
        "ER": 65.0,
        "R": 80.0,
        "H": 146.0,
        "BB": 83.0,
        "SO": 172.0,
        "HR": 17.0,
        "BF": 694.0,
        "Pitches": 2773.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.9118,
        "R": 2.3529,
        "H": 4.2941,
        "BB": 2.4412,
        "SO": 5.0588,
        "HR": 0.5,
        "BF": 20.4118,
        "Pitches": 81.5588
      },
      "rates": {
        "ERA": 3.6411,
        "WHIP": 1.4253,
        "ER_per_IP": 0.40456,
        "H_per_IP": 0.90871,
        "BB_per_IP": 0.5166,
        "SO_per_IP": 1.07054,
        "HR_per_IP": 0.10581
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.2,
    "predicted_ER": 1.308,
    "predicted_H": 2.582,
    "predicted_BB": 2.154,
    "predicted_SO": 4.031,
    "predicted_HR": 0.278,
    "predicted_ERA": 3.0723,
    "predicted_WHIP": 1.2363
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4042,
  "form_weight": 0.5958,
  "form_reliability": 0.8718,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 34.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8718,
    "prior_weight": 0.1282
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 2.0,
      "form": 3.2,
      "final": 3.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.308,
      "final": 1.5877,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 2.582,
      "final": 2.7509,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 2.154,
      "final": 1.2834,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 4.031,
      "final": 3.2101,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.278,
      "final": 0.1656,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0723,
      "final": 3.0723,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2363,
      "final": 1.2363,
      "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
RoleMiddle Reliever
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 IP1
Pre ER0
Pre H0
Pre BB0
Pre SO2
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.9327,
    "defense_index": 1.0899,
    "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": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0125,
    "defense_index": 1.1184,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0199,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0125,
    "defense_strength": 0.0899,
    "opponent_defense_weakness": -0.1184,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0014,
    "run_prevention": 0.994,
    "strikeout": 0.9984
  },
  "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": "20261013",
  "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.89,
    "predicted_H": 4.899,
    "predicted_BB": 1.379,
    "predicted_SO": 3.393,
    "predicted_HR": 0.577,
    "predicted_ERA": 6.1117,
    "predicted_WHIP": 1.4749
  }
}
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.89,
      "final": 1.722,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 4.899,
      "final": 2.919,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.379,
      "final": 1.2258,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 3.393,
      "final": 2.83,
      "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.1117,
      "final": 6.1117,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4749,
      "final": 1.4749,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Steven Kwan (680757) · BATTER · CF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 611
All-history rows before 20261013: 611
System season_avg: 0.2810
Data season_avg (2026 season-to-date): 0.2844
Diff (system - data): -0.0034
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1400.0000.000Hitting_2B0.1600.000-0.1600.000
predicted_3B0.0200.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6335.0005.000Hitting_AB3.7233.0001.2772.000
predicted_AVG0.2810.4000.400Hitting_AVG0.2840.3330.1160.067
predicted_BB0.5730.0000.000Hitting_BB0.5921.000-0.592-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H1.0202.0002.000Hitting_H1.0591.0000.9411.000
predicted_HR0.0200.0000.000Hitting_HR0.0230.000-0.0230.000
predicted_OBP0.3790.4000.400Hitting_OBP0.3840.5000.016-0.100
predicted_R0.5532.0002.000Hitting_R0.6091.0001.3911.000
predicted_RBI0.2200.0000.000Hitting_RBI0.2390.000-0.2390.000
predicted_SLG0.3470.4000.400Hitting_SLG0.3510.3330.0490.067
predicted_SO0.3930.0000.000Hitting_SO0.4241.000-0.424-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_R: 0.5530 -> 2.0000 (boost 1.4470, better)
Biggest Deboostpredicted_BB: 0.5730 -> 0.0000 (deboost -0.5730, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_SLG: 0.3470 -> 0.3349 (deboost -0.0121, 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_scaling52332predicted_BB: 0.6108 -> 1.0000 (boost 0.3892, better)predicted_SO: 0.4043 -> 0.0000 (deboost -0.4043, better)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.248 HR/AB=0.005
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
7consistency_constraints11010predicted_R: 0.5936 -> 1.0000 (boost 0.4064, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_SO: 0.0000 -> 0.4315 (boost 0.4315, worse)predicted_BB: 1.0000 -> 0.4060 (deboost -0.5940, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation94554predicted_2B: 0.1980 -> 1.0000 (boost 0.8020, better)predicted_SO: 0.4315 -> 0.0000 (deboost -0.4315, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization53232predicted_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
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "680757",
  "player_name": "Steven Kwan",
  "position": "CF",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.14,
        "predicted_3B": 0.02,
        "predicted_AB": 3.633,
        "predicted_AVG": 0.281,
        "predicted_BB": 0.573,
        "predicted_H": 1.02,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.379,
        "predicted_R": 0.553,
        "predicted_RBI": 0.22,
        "predicted_SLG": 0.347,
        "predicted_SO": 0.393
      },
      "changed_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.1177,
        "predicted_3B": 0.0248,
        "predicted_AB": 3.6557,
        "predicted_AVG": 0.2735,
        "predicted_BB": 0.6128,
        "predicted_H": 0.999,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0187,
        "predicted_OBP": 0.378,
        "predicted_R": 0.6006,
        "predicted_RBI": 0.2217,
        "predicted_SLG": 0.3349,
        "predicted_SO": 0.403
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.281,
          "after": 0.2735,
          "delta": -0.0075,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.347,
          "after": 0.3349,
          "delta": -0.0121,
          "percent_delta": -0.0349,
          "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.347,
          "after": 0.3349,
          "delta": -0.0121,
          "percent_delta": -0.0349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 150
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1177,
        "predicted_3B": 0.0248,
        "predicted_AB": 3.6557,
        "predicted_AVG": 0.2711,
        "predicted_BB": 0.6108,
        "predicted_H": 0.991,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0183,
        "predicted_OBP": 0.3754,
        "predicted_R": 0.5936,
        "predicted_RBI": 0.2191,
        "predicted_SLG": 0.3319,
        "predicted_SO": 0.4043
      },
      "changed_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.248 HR/AB=0.005",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1177,
          "after": 0.0,
          "delta": -0.1177,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6557,
          "after": 4.0,
          "delta": 0.3443,
          "percent_delta": 0.0942,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6108,
          "after": 1.0,
          "delta": 0.3892,
          "percent_delta": 0.6372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2191,
          "after": 0.0,
          "delta": -0.2191,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4043,
          "after": 0.0,
          "delta": -0.4043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.6108,
          "after": 1.0,
          "delta": 0.3892,
          "percent_delta": 0.6372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4043,
          "after": 0.0,
          "delta": -0.4043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      }
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.5936,
          "after": 1.0,
          "delta": 0.4064,
          "percent_delta": 0.6846,
          "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.5936,
          "after": 1.0,
          "delta": 0.4064,
          "percent_delta": 0.6846,
          "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.198,
        "predicted_3B": 0.0136,
        "predicted_BB": 0.406,
        "predicted_H": 0.9289,
        "predicted_HR": 0.0516,
        "predicted_RBI": 0.2838,
        "predicted_SO": 0.4315
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.198,
          "delta": 0.198,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.406,
          "delta": -0.594,
          "percent_delta": -0.594,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9289,
          "delta": -0.0711,
          "percent_delta": -0.0711,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0516,
          "delta": 0.0516,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.2838,
          "delta": 0.2838,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4315,
          "delta": 0.4315,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4315,
          "delta": 0.4315,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.406,
          "delta": -0.594,
          "percent_delta": -0.594,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.241,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.339,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.198,
          "after": 1.0,
          "delta": 0.802,
          "percent_delta": 4.0505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2711,
          "after": 0.241,
          "delta": -0.0301,
          "percent_delta": -0.111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.406,
          "after": 1.0,
          "delta": 0.594,
          "percent_delta": 1.4631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9289,
          "after": 1.0,
          "delta": 0.0711,
          "percent_delta": 0.0765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0516,
          "after": 0.0,
          "delta": -0.0516,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3754,
          "after": 0.319,
          "delta": -0.0564,
          "percent_delta": -0.1502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2838,
          "after": 0.0,
          "delta": -0.2838,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3319,
          "after": 0.339,
          "delta": 0.0071,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4315,
          "after": 0.0,
          "delta": -0.4315,
          "percent_delta": -1.0,
          "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_2B",
          "before": 0.198,
          "after": 1.0,
          "delta": 0.802,
          "percent_delta": 4.0505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4315,
          "after": 0.0,
          "delta": -0.4315,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.241,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.339,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "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": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 2.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 2.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.339,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.633,
        "after": 5.0,
        "delta": 1.367,
        "percent_delta": 0.3763,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.281,
        "after": 0.241,
        "delta": -0.04,
        "percent_delta": -0.1423,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.573,
        "after": 0.0,
        "delta": -0.573,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 2.0,
        "delta": 0.98,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.379,
        "after": 0.319,
        "delta": -0.06,
        "percent_delta": -0.1583,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.553,
        "after": 2.0,
        "delta": 1.447,
        "percent_delta": 2.6166,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.347,
        "after": 0.339,
        "delta": -0.008,
        "percent_delta": -0.0231,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.393,
        "after": 0.0,
        "delta": -0.393,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.553,
        "after": 2.0,
        "delta": 1.447,
        "percent_delta": 2.6166,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.573,
        "after": 0.0,
        "delta": -0.573,
        "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.140-
predicted_3B0.020-
predicted_AB3.633-
predicted_AVG0.281-
predicted_BB0.573-
predicted_H1.020-
predicted_HR0.020-
predicted_OBP0.379-
predicted_R0.553-
predicted_RBI0.220-
predicted_SLG0.347-
predicted_SO0.393-
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.118-0.022
predicted_3B0.0250.005
predicted_AB3.6560.023
predicted_AVG0.274-0.008
predicted_BB0.6130.040
predicted_H0.999-0.021
predicted_HBP0.013-
predicted_HR0.019-0.001
predicted_OBP0.378-0.001
predicted_R0.6010.048
predicted_RBI0.2220.002
predicted_SLG0.335-0.012
predicted_SO0.4030.010
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1180.000
predicted_3B0.0250.000
predicted_AB3.6560.000
predicted_AVG0.271-0.002
predicted_BB0.611-0.002
predicted_H0.991-0.008
predicted_HBP0.0130.000
predicted_HR0.018-0.000
predicted_OBP0.375-0.003
predicted_R0.594-0.007
predicted_RBI0.219-0.003
predicted_SLG0.332-0.003
predicted_SO0.4040.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.66), rates preserved: AVG=0.248 HR/AB=0.005

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1980.198
3B0.0140.014
BB0.406-0.594
H0.929-0.071
HR0.0520.052
RBI0.2840.284
SO0.4310.431
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.802
3B0.000-0.014
AB4.0000.000
AVG0.241-
BB1.0000.594
H1.0000.071
HR0.000-0.052
OBP0.319-
R1.0000.000
RBI0.000-0.284
SLG0.339-
SO0.000-0.431
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.882
predicted_3B0.000-0.025
predicted_AB4.0000.344
predicted_AVG0.241-0.030
predicted_BB1.0000.389
predicted_H1.0000.009
predicted_HR0.000-0.018
predicted_OBP0.319-0.056
predicted_R1.0000.406
predicted_RBI0.000-0.219
predicted_SLG0.3390.007
predicted_SO0.000-0.404
11. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R2.0001.000
RBI0.0000.000
SF0.0000.000
SO0.0000.000
12. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 150
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0001.0005.0004.0002.0000.21050.34780.21050.21050.00000.05260.21050.1053
last_100.2010-37.00010.0000.0001.0000.0002.0007.0009.0004.0000.27030.41300.32430.27030.00000.05410.24320.1081
season0.60150-545.000153.00021.0003.0003.00033.00083.00086.00059.0000.28070.37990.34680.28070.00550.06050.15780.1083
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0890
predicted_3B0.0310
predicted_AB3.6850
predicted_AVG0.2638
predicted_BB0.6640
predicted_H0.9720
predicted_HBP0.0130
predicted_HR0.0170
predicted_OBP0.3767
predicted_R0.6620
predicted_RBI0.2240
predicted_SLG0.3192
predicted_SO0.4160
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14000.08900.1177model_form_blend
predicted_3B0.02000.03100.0248model_form_blend
predicted_AB3.63303.68503.6557model_form_blend
predicted_AVG0.28100.26380.2735model_form_blend
predicted_BB0.57300.66400.6128model_form_blend
predicted_H1.02000.97200.9990model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.02000.01700.0187model_form_blend
predicted_OBP0.37900.37670.3780model_form_blend
predicted_R0.55300.66200.6006model_form_blend
predicted_RBI0.22000.22400.2217model_form_blend
predicted_SLG0.34700.31920.3349model_form_blend
predicted_SO0.39300.41600.4030model_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 date611
Season rows before report date611
Report year2026
Profile rows used150
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B0
3B0
HR0
R2
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_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261010_CHW@CLE
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-10-10
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 20261013: 514
All-history rows before 20261013: 514
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2353
Diff (system - data): 0.0007
System opponent_avg: 0.0830

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2220.0000.000Hitting_2B0.2390.000-0.2390.000
predicted_3B0.0080.0000.000Hitting_3B0.0020.000-0.0020.000
predicted_AB4.3703.0003.000Hitting_AB3.8293.000-0.8290.000
predicted_AVG0.2400.3330.333Hitting_AVG0.2350.3330.0980.000
predicted_BB0.5002.0002.000Hitting_BB0.5181.0001.4821.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H1.0501.0001.000Hitting_H0.9011.0000.0990.000
predicted_HR0.2400.0000.000Hitting_HR0.1031.000-0.103-1.000
predicted_OBP0.3420.6000.600Hitting_OBP0.3270.5000.2730.100
predicted_R0.5951.0001.000Hitting_R0.5881.0000.4120.000
predicted_RBI0.9500.0000.000Hitting_RBI0.4772.000-0.477-2.000
predicted_SLG0.5140.3330.333Hitting_SLG0.3801.333-0.046-1.000
predicted_SO0.5710.0000.000Hitting_SO0.5701.000-0.570-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_BB: 0.5000 -> 2.0000 (boost 1.5000, better)
Biggest Deboostpredicted_AB: 4.3700 -> 3.0000 (deboost -1.3700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_R: 0.5950 -> 0.6698 (boost 0.0748, better)predicted_AB: 4.3700 -> 4.1143 (deboost -0.2557, 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.4974 -> 0.4608 (deboost -0.0366, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_SO: 0.6017 -> 1.0000 (boost 0.3983, worse)predicted_BB: 0.5270 -> 0.0000 (deboost -0.5270, worse)AB rounded to 4 (raw=4.37), rates preserved: AVG=0.206 HR/AB=0.049
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
7consistency_constraints11010predicted_R: 0.6620 -> 1.0000 (boost 0.3380, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3601 (boost 0.3601, better)predicted_RBI: 1.0000 -> 0.4651 (deboost -0.5349, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation93627predicted_BB: 0.3601 -> 1.0000 (boost 0.6399, better)predicted_RBI: 0.4651 -> 0.0000 (deboost -0.4651, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization31221predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.222,
        "predicted_3B": 0.008,
        "predicted_AB": 4.37,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.5,
        "predicted_H": 1.05,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.342,
        "predicted_R": 0.595,
        "predicted_RBI": 0.95,
        "predicted_SLG": 0.514,
        "predicted_SO": 0.571
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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.2094,
        "predicted_3B": 0.0324,
        "predicted_AB": 4.1143,
        "predicted_AVG": 0.2415,
        "predicted_BB": 0.5287,
        "predicted_H": 0.9939,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2165,
        "predicted_OBP": 0.341,
        "predicted_R": 0.6698,
        "predicted_RBI": 0.8582,
        "predicted_SLG": 0.4974,
        "predicted_SO": 0.5997
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.37,
          "after": 4.1143,
          "delta": -0.2557,
          "percent_delta": -0.0585,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 0.9939,
          "delta": -0.0561,
          "percent_delta": -0.0534,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.595,
          "after": 0.6698,
          "delta": 0.0748,
          "percent_delta": 0.1257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.95,
          "after": 0.8582,
          "delta": -0.0918,
          "percent_delta": -0.0966,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.514,
          "after": 0.4974,
          "delta": -0.0166,
          "percent_delta": -0.0323,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.595,
          "after": 0.6698,
          "delta": 0.0748,
          "percent_delta": 0.1257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.37,
          "after": 4.1143,
          "delta": -0.2557,
          "percent_delta": -0.0585,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 126
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2094,
        "predicted_3B": 0.0324,
        "predicted_AB": 4.1143,
        "predicted_AVG": 0.2396,
        "predicted_BB": 0.527,
        "predicted_H": 0.9859,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.212,
        "predicted_OBP": 0.326,
        "predicted_R": 0.662,
        "predicted_RBI": 0.8482,
        "predicted_SLG": 0.4608,
        "predicted_SO": 0.6017
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.341,
          "after": 0.326,
          "delta": -0.015,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4974,
          "after": 0.4608,
          "delta": -0.0366,
          "percent_delta": -0.0736,
          "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.4974,
          "after": 0.4608,
          "delta": -0.0366,
          "percent_delta": -0.0736,
          "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.37), rates preserved: AVG=0.206 HR/AB=0.049",
      "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.2094,
          "after": 0.0,
          "delta": -0.2094,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.1143,
          "after": 4.0,
          "delta": -0.1143,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.527,
          "after": 0.0,
          "delta": -0.527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.212,
          "after": 0.0,
          "delta": -0.212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8482,
          "after": 1.0,
          "delta": 0.1518,
          "percent_delta": 0.179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6017,
          "after": 1.0,
          "delta": 0.3983,
          "percent_delta": 0.662,
          "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.6017,
          "after": 1.0,
          "delta": 0.3983,
          "percent_delta": 0.662,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.527,
          "after": 0.0,
          "delta": -0.527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      }
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.662,
          "after": 1.0,
          "delta": 0.338,
          "percent_delta": 0.5106,
          "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.662,
          "after": 1.0,
          "delta": 0.338,
          "percent_delta": 0.5106,
          "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.1949,
        "predicted_3B": 0.0103,
        "predicted_BB": 0.3601,
        "predicted_H": 0.8301,
        "predicted_HR": 0.1193,
        "predicted_RBI": 0.4651,
        "predicted_SO": 0.6798
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1949,
          "delta": 0.1949,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3601,
          "delta": 0.3601,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8301,
          "delta": -0.1699,
          "percent_delta": -0.1699,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1193,
          "delta": 0.1193,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4651,
          "delta": -0.5349,
          "percent_delta": -0.5349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6798,
          "delta": -0.3202,
          "percent_delta": -0.3202,
          "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.3601,
          "delta": 0.3601,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4651,
          "delta": -0.5349,
          "percent_delta": -0.5349,
          "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.208,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.28,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1949,
          "after": 0.0,
          "delta": -0.1949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2396,
          "after": 0.208,
          "delta": -0.0316,
          "percent_delta": -0.1319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3601,
          "after": 1.0,
          "delta": 0.6399,
          "percent_delta": 1.777,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8301,
          "after": 1.0,
          "delta": 0.1699,
          "percent_delta": 0.2047,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1193,
          "after": 0.0,
          "delta": -0.1193,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.28,
          "delta": -0.046,
          "percent_delta": -0.1411,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4651,
          "after": 0.0,
          "delta": -0.4651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4608,
          "after": 0.352,
          "delta": -0.1088,
          "percent_delta": -0.2361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6798,
          "after": 1.0,
          "delta": 0.3202,
          "percent_delta": 0.471,
          "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.3601,
          "after": 1.0,
          "delta": 0.6399,
          "percent_delta": 1.777,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4651,
          "after": 0.0,
          "delta": -0.4651,
          "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.208,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.28,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.208,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.28,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.352,
        "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.222,
        "after": 0.0,
        "delta": -0.222,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.37,
        "after": 3.0,
        "delta": -1.37,
        "percent_delta": -0.3135,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.208,
        "delta": -0.032,
        "percent_delta": -0.1333,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 1.0,
        "delta": -0.05,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.342,
        "after": 0.28,
        "delta": -0.062,
        "percent_delta": -0.1813,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.595,
        "after": 1.0,
        "delta": 0.405,
        "percent_delta": 0.6807,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.514,
        "after": 0.352,
        "delta": -0.162,
        "percent_delta": -0.3152,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.571,
        "after": 0.0,
        "delta": -0.571,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.37,
        "after": 3.0,
        "delta": -1.37,
        "percent_delta": -0.3135,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.222-
predicted_3B0.008-
predicted_AB4.370-
predicted_AVG0.240-
predicted_BB0.500-
predicted_H1.050-
predicted_HR0.240-
predicted_OBP0.342-
predicted_R0.595-
predicted_RBI0.950-
predicted_SLG0.514-
predicted_SO0.571-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.209-0.013
predicted_3B0.0320.024
predicted_AB4.114-0.256
predicted_AVG0.2410.002
predicted_BB0.5290.029
predicted_H0.994-0.056
predicted_HBP0.015-
predicted_HR0.216-0.023
predicted_OBP0.341-0.001
predicted_R0.6700.075
predicted_RBI0.858-0.092
predicted_SLG0.497-0.017
predicted_SO0.6000.029
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2090.000
predicted_3B0.0320.000
predicted_AB4.1140.000
predicted_AVG0.240-0.002
predicted_BB0.527-0.002
predicted_H0.986-0.008
predicted_HBP0.0150.000
predicted_HR0.212-0.005
predicted_OBP0.326-0.015
predicted_R0.662-0.008
predicted_RBI0.848-0.010
predicted_SLG0.461-0.037
predicted_SO0.6020.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1950.195
3B0.0100.010
BB0.3600.360
H0.830-0.170
HR0.1190.119
RBI0.465-0.535
SO0.680-0.320
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.195
3B0.000-0.010
AB4.0000.000
AVG0.208-
BB1.0000.640
H1.0000.170
HR0.000-0.119
OBP0.280-
R1.0000.000
RBI0.000-0.465
SLG0.352-
SO1.0000.320
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.209
predicted_3B0.000-0.032
predicted_AB4.000-0.114
predicted_AVG0.208-0.032
predicted_BB1.0000.473
predicted_H1.0000.014
predicted_HR0.000-0.212
predicted_OBP0.280-0.046
predicted_R1.0000.338
predicted_RBI0.000-0.848
predicted_SLG0.352-0.109
predicted_SO1.0000.398
11. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB2.0001.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO0.000-1.000
12. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB2.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 126
Reference playing time: 4.370
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0001.0002.0007.0006.0004.0004.0000.27780.40910.77780.27780.11110.38890.22220.2222
last_100.2010-39.0009.0001.0001.0002.0009.0009.0006.0006.0000.23080.32610.46150.23080.05130.23080.15380.1538
season0.60126-479.000113.00028.0001.00014.00060.00075.00063.00072.0000.23590.32430.38620.23590.02920.12530.13150.1503
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1930
predicted_3B0.0640
predicted_AB3.7820
predicted_AVG0.2435
predicted_BB0.5660
predicted_H0.9210
predicted_HBP0.0150
predicted_HR0.1860
predicted_OBP0.3398
predicted_R0.7670
predicted_RBI0.7390
predicted_SLG0.4758
predicted_SO0.6370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22200.19300.2094model_form_blend
predicted_3B0.00800.06400.0324model_form_blend
predicted_AB4.37003.78204.1143model_form_blend
predicted_AVG0.24000.24350.2415model_form_blend
predicted_BB0.50000.56600.5287model_form_blend
predicted_H1.05000.92100.9939model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.24000.18600.2165model_form_blend
predicted_OBP0.34200.33980.3410model_form_blend
predicted_R0.59500.76700.6698model_form_blend
predicted_RBI0.95000.73900.8582model_form_blend
predicted_SLG0.51400.47580.4974model_form_blend
predicted_SO0.57100.63700.5997model_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 date514
Season rows before report date514
Report year2026
Profile rows used126
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB2
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB1
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261010_CHW@CLE
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-10-10
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 20261013: 532
All-history rows before 20261013: 532
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2812
Diff (system - data): 0.0038
System opponent_avg: 0.3710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2110.0000.000Hitting_2B0.2200.000-0.2200.000
predicted_3B0.0230.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.6405.0005.000Hitting_AB3.9304.0001.0701.000
predicted_AVG0.2440.4000.400Hitting_AVG0.2810.2500.1190.150
predicted_BB0.4440.0000.000Hitting_BB0.4640.000-0.4640.000
predicted_CS-0.0000.000BaseRunning_CS0.0190.000-0.0190.000
predicted_H1.1302.0002.000Hitting_H1.1051.0000.8951.000
predicted_HR0.1301.0001.000Hitting_HR0.1260.0000.8741.000
predicted_OBP0.3310.4000.400Hitting_OBP0.3560.2500.0440.150
predicted_R0.4591.0001.000Hitting_R0.4980.0000.5021.000
predicted_RBI0.5602.0002.000Hitting_RBI0.5620.0001.4382.000
predicted_SLG0.3761.0001.000Hitting_SLG0.4480.2500.5520.750
predicted_SO0.6090.0000.000Hitting_SO0.6430.000-0.6430.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_RBI: 0.5600 -> 2.0000 (boost 1.4400, better)
Biggest Deboostpredicted_SO: 0.6090 -> 0.0000 (deboost -0.6090, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53241predicted_AVG: 0.2440 -> 0.2531 (boost 0.0091, better)predicted_AB: 4.6400 -> 4.3010 (deboost -0.3390, 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.3361 -> 0.3194 (deboost -0.0167, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.5590 -> 1.0000 (boost 0.4410, worse)predicted_RBI: 0.5144 -> 0.0000 (deboost -0.5144, worse)AB rounded to 4 (raw=4.64), rates preserved: AVG=0.212 HR/AB=0.024
6consistency_constraints10101-predicted_R: 0.4533 -> 0.0000 (deboost -0.4533, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4879 (boost 0.4879, better)predicted_SO: 1.0000 -> 0.6722 (deboost -0.3278, 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_allocation106455predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.3207 -> 0.0000 (deboost -0.3207, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization64251predicted_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
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.211,
        "predicted_3B": 0.023,
        "predicted_AB": 4.64,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.444,
        "predicted_H": 1.13,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.331,
        "predicted_R": 0.459,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.376,
        "predicted_SO": 0.609
      },
      "changed_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.1923,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.301,
        "predicted_AVG": 0.2531,
        "predicted_BB": 0.441,
        "predicted_H": 1.0834,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1148,
        "predicted_OBP": 0.3361,
        "predicted_R": 0.4586,
        "predicted_RBI": 0.5204,
        "predicted_SLG": 0.382,
        "predicted_SO": 0.5572
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.64,
          "after": 4.301,
          "delta": -0.339,
          "percent_delta": -0.0731,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2531,
          "delta": 0.0091,
          "percent_delta": 0.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3361,
          "delta": 0.0051,
          "percent_delta": 0.0154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.382,
          "delta": 0.006,
          "percent_delta": 0.016,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.609,
          "after": 0.5572,
          "delta": -0.0518,
          "percent_delta": -0.0851,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2531,
          "delta": 0.0091,
          "percent_delta": 0.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.64,
          "after": 4.301,
          "delta": -0.339,
          "percent_delta": -0.0731,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1923,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.301,
        "predicted_AVG": 0.2499,
        "predicted_BB": 0.4395,
        "predicted_H": 1.0747,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1124,
        "predicted_OBP": 0.3194,
        "predicted_R": 0.4533,
        "predicted_RBI": 0.5144,
        "predicted_SLG": 0.3819,
        "predicted_SO": 0.559
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3361,
          "after": 0.3194,
          "delta": -0.0167,
          "percent_delta": -0.0497,
          "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.3361,
          "after": 0.3194,
          "delta": -0.0167,
          "percent_delta": -0.0497,
          "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.64), rates preserved: AVG=0.212 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1923,
          "after": 0.0,
          "delta": -0.1923,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.301,
          "after": 4.0,
          "delta": -0.301,
          "percent_delta": -0.07,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4395,
          "after": 0.0,
          "delta": -0.4395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0747,
          "after": 1.0,
          "delta": -0.0747,
          "percent_delta": -0.0695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1124,
          "after": 0.0,
          "delta": -0.1124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5144,
          "after": 0.0,
          "delta": -0.5144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.559,
          "after": 1.0,
          "delta": 0.441,
          "percent_delta": 0.7889,
          "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.559,
          "after": 1.0,
          "delta": 0.441,
          "percent_delta": 0.7889,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5144,
          "after": 0.0,
          "delta": -0.5144,
          "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.4533,
          "after": 0.0,
          "delta": -0.4533,
          "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.4533,
          "after": 0.0,
          "delta": -0.4533,
          "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.1982,
        "predicted_3B": 0.0152,
        "predicted_BB": 0.3207,
        "predicted_H": 0.9225,
        "predicted_HR": 0.1316,
        "predicted_RBI": 0.4879,
        "predicted_SO": 0.6722
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1982,
          "delta": 0.1982,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3207,
          "delta": 0.3207,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9225,
          "delta": -0.0775,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1316,
          "delta": 0.1316,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4879,
          "delta": 0.4879,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6722,
          "delta": -0.3278,
          "percent_delta": -0.3278,
          "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.4879,
          "delta": 0.4879,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6722,
          "delta": -0.3278,
          "percent_delta": -0.3278,
          "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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1982,
          "after": 1.0,
          "delta": 0.8018,
          "percent_delta": 4.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2499,
          "after": 0.242,
          "delta": -0.0079,
          "percent_delta": -0.0316,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3207,
          "after": 0.0,
          "delta": -0.3207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9225,
          "after": 1.0,
          "delta": 0.0775,
          "percent_delta": 0.084,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1316,
          "after": 0.0,
          "delta": -0.1316,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3194,
          "after": 0.306,
          "delta": -0.0134,
          "percent_delta": -0.042,
          "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.4879,
          "after": 1.0,
          "delta": 0.5121,
          "percent_delta": 1.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3819,
          "after": 0.405,
          "delta": 0.0231,
          "percent_delta": 0.0605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6722,
          "after": 1.0,
          "delta": 0.3278,
          "percent_delta": 0.4877,
          "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.3207,
          "after": 0.0,
          "delta": -0.3207,
          "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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.306,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 0.0,
        "predicted_TB": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.64,
        "after": 5.0,
        "delta": 0.36,
        "percent_delta": 0.0776,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.444,
        "after": 0.0,
        "delta": -0.444,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.13,
        "after": 2.0,
        "delta": 0.87,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 1.0,
        "delta": 0.87,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.331,
        "after": 0.306,
        "delta": -0.025,
        "percent_delta": -0.0755,
        "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.56,
        "after": 2.0,
        "delta": 1.44,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.376,
        "after": 0.405,
        "delta": 0.029,
        "percent_delta": 0.0771,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.609,
        "after": 0.0,
        "delta": -0.609,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 2.0,
        "delta": 1.44,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.609,
        "after": 0.0,
        "delta": -0.609,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.211-
predicted_3B0.023-
predicted_AB4.640-
predicted_AVG0.244-
predicted_BB0.444-
predicted_H1.130-
predicted_HR0.130-
predicted_OBP0.331-
predicted_R0.459-
predicted_RBI0.560-
predicted_SLG0.376-
predicted_SO0.609-
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.192-0.019
predicted_3B0.019-0.004
predicted_AB4.301-0.339
predicted_AVG0.2530.009
predicted_BB0.441-0.003
predicted_H1.083-0.047
predicted_HBP0.024-
predicted_HR0.115-0.015
predicted_OBP0.3360.005
predicted_R0.459-0.000
predicted_RBI0.520-0.040
predicted_SLG0.3820.006
predicted_SO0.557-0.052
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1920.000
predicted_3B0.0190.000
predicted_AB4.3010.000
predicted_AVG0.250-0.003
predicted_BB0.440-0.002
predicted_H1.075-0.009
predicted_HBP0.0240.000
predicted_HR0.112-0.002
predicted_OBP0.319-0.017
predicted_R0.453-0.005
predicted_RBI0.514-0.006
predicted_SLG0.382-0.000
predicted_SO0.5590.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1980.198
3B0.0150.015
BB0.3210.321
H0.922-0.078
HR0.1320.132
RBI0.4880.488
SO0.672-0.328
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.802
3B0.000-0.015
AB4.0000.000
AVG0.242-
BB0.000-0.321
H1.0000.078
HR0.000-0.132
OBP0.306-
R1.0001.000
RBI1.0000.512
SLG0.405-
SO1.0000.328
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.808
predicted_3B0.000-0.019
predicted_AB4.000-0.301
predicted_AVG0.242-0.008
predicted_BB0.000-0.440
predicted_H1.000-0.075
predicted_HR0.000-0.112
predicted_OBP0.306-0.013
predicted_R1.0000.547
predicted_RBI1.0000.486
predicted_SLG0.4050.023
predicted_SO1.0000.441
10. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI2.0001.000
SF0.0000.000
SO0.000-1.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA5.0000.000
R1.0000.000
RBI2.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 133
Reference playing time: 4.640
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0000.0000.0002.0002.0002.0000.0000.25000.31820.25000.25000.00000.10000.10000.0000
last_100.2010-40.0009.0002.0000.0001.0004.0005.0005.0005.0000.22500.32610.35000.22500.02500.10000.12500.1250
season0.60133-502.000143.00028.0003.00016.00068.00061.00059.00081.0000.28490.35990.44820.28490.03190.13550.11750.1613
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1680
predicted_3B0.0140
predicted_AB3.8610
predicted_AVG0.2650
predicted_BB0.4370
predicted_H1.0230
predicted_HBP0.0240
predicted_HR0.0950
predicted_OBP0.3428
predicted_R0.4580
predicted_RBI0.4690
predicted_SLG0.3898
predicted_SO0.4900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.16800.1923model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.64003.86104.3010model_form_blend
predicted_AVG0.24400.26500.2531model_form_blend
predicted_BB0.44400.43700.4410model_form_blend
predicted_H1.13001.02301.0834model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.13000.09500.1148model_form_blend
predicted_OBP0.33100.34280.3361model_form_blend
predicted_R0.45900.45800.4586model_form_blend
predicted_RBI0.56000.46900.5204model_form_blend
predicted_SLG0.37600.38980.3820model_form_blend
predicted_SO0.60900.49000.5572model_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 date532
Season rows before report date532
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
PA5
AB5
H2
2B0
3B0
HR1
R1
RBI2
BB0
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_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
gameID20261010_CHW@CLE
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-10-10
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 20261013: 176
All-history rows before 20261013: 176
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2384
Diff (system - data): 0.0026
System opponent_avg: 0.1450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1600.0000.000Hitting_2B0.2390.000-0.2390.000
predicted_3B0.0180.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.7984.0004.000Hitting_AB3.9094.0000.0910.000
predicted_AVG0.2410.2500.250Hitting_AVG0.2380.2500.0120.000
predicted_BB0.2270.0000.000Hitting_BB0.4030.000-0.4030.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9141.0001.000Hitting_H0.9321.0000.0680.000
predicted_HR0.1410.0000.000Hitting_HR0.1420.000-0.1420.000
predicted_OBP0.2840.2500.250Hitting_OBP0.3240.250-0.0740.000
predicted_R0.4290.0000.000Hitting_R0.5110.000-0.5110.000
predicted_RBI0.6071.0001.000Hitting_RBI0.7440.0000.2561.000
predicted_SLG0.4040.2500.250Hitting_SLG0.4140.250-0.1640.000
predicted_SO1.0121.0001.000Hitting_SO1.1081.000-0.1080.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_RBI: 0.6070 -> 1.0000 (boost 0.3930, better)
Biggest Deboostpredicted_R: 0.4290 -> 0.0000 (deboost -0.4290, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55041predicted_BB: 0.2270 -> 0.2992 (boost 0.0722, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_OBP: 0.3020 -> 0.2963 (deboost -0.0057, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling93645predicted_RBI: 0.6544 -> 1.0000 (boost 0.3456, better)predicted_BB: 0.2982 -> 0.0000 (deboost -0.2982, worse)AB rounded to 4 (raw=3.80), rates preserved: AVG=0.220 HR/AB=0.032
6consistency_constraints10101-predicted_R: 0.3877 -> 0.0000 (deboost -0.3877, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.1745 (boost 0.1745, better)predicted_RBI: 1.0000 -> 0.5799 (deboost -0.4201, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation92736predicted_RBI: 0.5799 -> 1.0000 (boost 0.4201, better)predicted_BB: 0.1745 -> 0.0000 (deboost -0.1745, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization00000--Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.018,
        "predicted_AB": 3.798,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.227,
        "predicted_H": 0.914,
        "predicted_HR": 0.141,
        "predicted_OBP": 0.284,
        "predicted_R": 0.429,
        "predicted_RBI": 0.607,
        "predicted_SLG": 0.404,
        "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.0657,
        "predicted_AB": 3.7897,
        "predicted_AVG": 0.2431,
        "predicted_BB": 0.2992,
        "predicted_H": 0.9206,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1257,
        "predicted_OBP": 0.302,
        "predicted_R": 0.3922,
        "predicted_RBI": 0.6621,
        "predicted_SLG": 0.4145,
        "predicted_SO": 1.0825
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.227,
          "after": 0.2992,
          "delta": 0.0722,
          "percent_delta": 0.3181,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.302,
          "delta": 0.018,
          "percent_delta": 0.0634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.607,
          "after": 0.6621,
          "delta": 0.0551,
          "percent_delta": 0.0908,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4145,
          "delta": 0.0105,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.012,
          "after": 1.0825,
          "delta": 0.0705,
          "percent_delta": 0.0697,
          "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_BB",
          "before": 0.227,
          "after": 0.2992,
          "delta": 0.0722,
          "percent_delta": 0.3181,
          "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": 163
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1416,
        "predicted_3B": 0.0657,
        "predicted_AB": 3.7897,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.2982,
        "predicted_H": 0.9132,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1231,
        "predicted_OBP": 0.2963,
        "predicted_R": 0.3877,
        "predicted_RBI": 0.6544,
        "predicted_SLG": 0.4104,
        "predicted_SO": 1.0861
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.2963,
          "delta": -0.0057,
          "percent_delta": -0.0189,
          "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.302,
          "after": 0.2963,
          "delta": -0.0057,
          "percent_delta": -0.0189,
          "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.80), rates preserved: AVG=0.220 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.1416,
          "after": 0.0,
          "delta": -0.1416,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0657,
          "after": 0.0,
          "delta": -0.0657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7897,
          "after": 4.0,
          "delta": 0.2103,
          "percent_delta": 0.0555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2982,
          "after": 0.0,
          "delta": -0.2982,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9132,
          "after": 1.0,
          "delta": 0.0868,
          "percent_delta": 0.0951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.065,
          "after": 0.0,
          "delta": -0.065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1231,
          "after": 0.0,
          "delta": -0.1231,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6544,
          "after": 1.0,
          "delta": 0.3456,
          "percent_delta": 0.5281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0861,
          "after": 1.0,
          "delta": -0.0861,
          "percent_delta": -0.0793,
          "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.6544,
          "after": 1.0,
          "delta": 0.3456,
          "percent_delta": 0.5281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2982,
          "after": 0.0,
          "delta": -0.2982,
          "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.3877,
          "after": 0.0,
          "delta": -0.3877,
          "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.3877,
          "after": 0.0,
          "delta": -0.3877,
          "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.1701,
        "predicted_3B": 0.0135,
        "predicted_BB": 0.1745,
        "predicted_H": 0.8587,
        "predicted_HR": 0.1478,
        "predicted_RBI": 0.5799,
        "predicted_SO": 1.1091
      },
      "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": 0.0,
          "after": 0.1745,
          "delta": 0.1745,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8587,
          "delta": -0.1413,
          "percent_delta": -0.1413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1478,
          "delta": 0.1478,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5799,
          "delta": -0.4201,
          "percent_delta": -0.4201,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1091,
          "delta": 0.1091,
          "percent_delta": 0.1091,
          "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.1745,
          "delta": 0.1745,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5799,
          "delta": -0.4201,
          "percent_delta": -0.4201,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.265,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.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.241,
          "after": 0.225,
          "delta": -0.016,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1745,
          "after": 0.0,
          "delta": -0.1745,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8587,
          "after": 1.0,
          "delta": 0.1413,
          "percent_delta": 0.1646,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1478,
          "after": 0.0,
          "delta": -0.1478,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2963,
          "after": 0.265,
          "delta": -0.0313,
          "percent_delta": -0.1056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5799,
          "after": 1.0,
          "delta": 0.4201,
          "percent_delta": 0.7244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4104,
          "after": 0.393,
          "delta": -0.0174,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1091,
          "after": 1.0,
          "delta": -0.1091,
          "percent_delta": -0.0984,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5799,
          "after": 1.0,
          "delta": 0.4201,
          "percent_delta": 0.7244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1745,
          "after": 0.0,
          "delta": -0.1745,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.265,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.225,
        "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.265,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.798,
        "after": 4.0,
        "delta": 0.202,
        "percent_delta": 0.0532,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.225,
        "delta": -0.016,
        "percent_delta": -0.0664,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.227,
        "after": 0.0,
        "delta": -0.227,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.914,
        "after": 1.0,
        "delta": 0.086,
        "percent_delta": 0.0941,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.141,
        "after": 0.0,
        "delta": -0.141,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.284,
        "after": 0.265,
        "delta": -0.019,
        "percent_delta": -0.0669,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.607,
        "after": 1.0,
        "delta": 0.393,
        "percent_delta": 0.6474,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.404,
        "after": 0.393,
        "delta": -0.011,
        "percent_delta": -0.0272,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.607,
        "after": 1.0,
        "delta": 0.393,
        "percent_delta": 0.6474,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.018-
predicted_AB3.798-
predicted_AVG0.241-
predicted_BB0.227-
predicted_H0.914-
predicted_HR0.141-
predicted_OBP0.284-
predicted_R0.429-
predicted_RBI0.607-
predicted_SLG0.404-
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.0660.048
predicted_AB3.790-0.008
predicted_AVG0.2430.002
predicted_BB0.2990.072
predicted_H0.9210.007
predicted_HBP0.065-
predicted_HR0.126-0.015
predicted_OBP0.3020.018
predicted_R0.392-0.037
predicted_RBI0.6620.055
predicted_SLG0.4140.010
predicted_SO1.0830.071
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1420.000
predicted_3B0.0660.000
predicted_AB3.7900.000
predicted_AVG0.241-0.002
predicted_BB0.298-0.001
predicted_H0.913-0.007
predicted_HBP0.0650.000
predicted_HR0.123-0.003
predicted_OBP0.296-0.006
predicted_R0.388-0.005
predicted_RBI0.654-0.008
predicted_SLG0.410-0.004
predicted_SO1.0860.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.80), rates preserved: AVG=0.220 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
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.1700.170
3B0.0130.013
BB0.1740.174
H0.859-0.141
HR0.1480.148
RBI0.580-0.420
SO1.1090.109
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.013
AB4.0000.000
AVG0.225-
BB0.000-0.174
H1.0000.141
HR0.000-0.148
OBP0.265-
R0.0000.000
RBI1.0000.420
SLG0.393-
SO1.000-0.109
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.066
predicted_AB4.0000.210
predicted_AVG0.225-0.016
predicted_BB0.000-0.298
predicted_H1.0000.087
predicted_HR0.000-0.123
predicted_OBP0.265-0.031
predicted_R0.000-0.388
predicted_RBI1.0000.346
predicted_SLG0.393-0.017
predicted_SO1.000-0.086
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 163
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0000.0002.0000.0006.0000.0003.0009.0000.26320.36360.47370.26320.00000.31580.15790.4737
last_100.2010-37.0009.0001.0002.0001.0007.0004.0007.00011.0000.24320.36360.45950.24320.02700.18920.18920.2973
season0.60163-619.000149.00026.0003.00023.00099.00070.00037.000165.0000.24070.30090.40390.24070.03720.15990.05980.2666
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1180
predicted_3B0.1270
predicted_AB3.7790
predicted_AVG0.2458
predicted_BB0.3920
predicted_H0.9290
predicted_HBP0.0650
predicted_HR0.1060
predicted_OBP0.3251
predicted_R0.3450
predicted_RBI0.7330
predicted_SLG0.4280
predicted_SO1.1730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.11800.1416model_form_blend
predicted_3B0.01800.12700.0657model_form_blend
predicted_AB3.79803.77903.7897model_form_blend
predicted_AVG0.24100.24580.2431model_form_blend
predicted_BB0.22700.39200.2992model_form_blend
predicted_H0.91400.92900.9206model_form_blend
predicted_HBP-0.06500.0650form_only
predicted_HR0.14100.10600.1257model_form_blend
predicted_OBP0.28400.32510.3020model_form_blend
predicted_R0.42900.34500.3922model_form_blend
predicted_RBI0.60700.73300.6621model_form_blend
predicted_SLG0.40400.42800.4145model_form_blend
predicted_SO1.01201.17301.0825model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20261010_CHW@CLE
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-10-10
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 20261013: 142
All-history rows before 20261013: 142
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2364
Diff (system - data): 0.0106
System opponent_avg: 0.2730

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1820.0000.000Hitting_2B0.1830.000-0.1830.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1743.0003.000Hitting_AB3.4863.000-0.4860.000
predicted_AVG0.2470.6670.667Hitting_AVG0.2360.0000.4300.667
predicted_BB0.3311.0001.000Hitting_BB0.3310.0000.6691.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7302.0002.000Hitting_H0.8240.0001.1762.000
predicted_HR0.0900.0000.000Hitting_HR0.1340.000-0.1340.000
predicted_OBP0.3170.7500.750Hitting_OBP0.2960.0000.4540.750
predicted_R0.2980.0000.000Hitting_R0.3450.000-0.3450.000
predicted_RBI0.4201.0001.000Hitting_RBI0.6900.0000.3101.000
predicted_SLG0.3660.6670.667Hitting_SLG0.4040.0000.2630.667
predicted_SO0.8101.0001.000Hitting_SO0.7890.0000.2111.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_H: 0.7300 -> 2.0000 (boost 1.2700, better)
Biggest Deboostpredicted_R: 0.2980 -> 0.0000 (deboost -0.2980, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_BB: 0.3310 -> 0.4008 (boost 0.0698, better)predicted_SO: 0.8100 -> 0.7432 (deboost -0.0668, 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.2390 -> 0.2275 (deboost -0.0115, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_H: 0.7216 -> 1.0000 (boost 0.2784, better)predicted_RBI: 0.4292 -> 0.0000 (deboost -0.4292, worse)AB rounded to 3 (raw=3.17), rates preserved: AVG=0.208 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.2750 -> 0.0000 (deboost -0.2750, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4994 (boost 0.4994, better)predicted_H: 1.0000 -> 0.7714 (deboost -0.2286, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation84435predicted_RBI: 0.4994 -> 1.0000 (boost 0.5006, better)predicted_BB: 0.2598 -> 0.0000 (deboost -0.2598, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_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
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.182,
        "predicted_3B": 0.0,
        "predicted_AB": 3.174,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.331,
        "predicted_H": 0.73,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.317,
        "predicted_R": 0.298,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.366,
        "predicted_SO": 0.81
      },
      "changed_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.1768,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1714,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.4008,
        "predicted_H": 0.7274,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0861,
        "predicted_OBP": 0.3225,
        "predicted_R": 0.2782,
        "predicted_RBI": 0.4342,
        "predicted_SLG": 0.3632,
        "predicted_SO": 0.7432
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.239,
          "delta": -0.008,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.4008,
          "delta": 0.0698,
          "percent_delta": 0.2109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.3225,
          "delta": 0.0055,
          "percent_delta": 0.0174,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.81,
          "after": 0.7432,
          "delta": -0.0668,
          "percent_delta": -0.0825,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.4008,
          "delta": 0.0698,
          "percent_delta": 0.2109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.81,
          "after": 0.7432,
          "delta": -0.0668,
          "percent_delta": -0.0825,
          "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": 121
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1768,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1714,
        "predicted_AVG": 0.2275,
        "predicted_BB": 0.3995,
        "predicted_H": 0.7216,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0843,
        "predicted_OBP": 0.3139,
        "predicted_R": 0.275,
        "predicted_RBI": 0.4292,
        "predicted_SLG": 0.3633,
        "predicted_SO": 0.7457
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2275,
          "delta": -0.0115,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3225,
          "after": 0.3139,
          "delta": -0.0086,
          "percent_delta": -0.0267,
          "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.239,
          "after": 0.2275,
          "delta": -0.0115,
          "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 3 (raw=3.17), rates preserved: AVG=0.208 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1768,
          "after": 0.0,
          "delta": -0.1768,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.1714,
          "after": 3.0,
          "delta": -0.1714,
          "percent_delta": -0.054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3995,
          "after": 0.0,
          "delta": -0.3995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7216,
          "after": 1.0,
          "delta": 0.2784,
          "percent_delta": 0.3858,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0843,
          "after": 0.0,
          "delta": -0.0843,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4292,
          "after": 0.0,
          "delta": -0.4292,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7457,
          "after": 1.0,
          "delta": 0.2543,
          "percent_delta": 0.341,
          "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.7216,
          "after": 1.0,
          "delta": 0.2784,
          "percent_delta": 0.3858,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4292,
          "after": 0.0,
          "delta": -0.4292,
          "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.275,
          "after": 0.0,
          "delta": -0.275,
          "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.275,
          "after": 0.0,
          "delta": -0.275,
          "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.178,
        "predicted_3B": 0.008,
        "predicted_BB": 0.2598,
        "predicted_H": 0.7714,
        "predicted_HR": 0.1411,
        "predicted_RBI": 0.4994,
        "predicted_SO": 0.9097
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.178,
          "delta": 0.178,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2598,
          "delta": 0.2598,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7714,
          "delta": -0.2286,
          "percent_delta": -0.2286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1411,
          "delta": 0.1411,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4994,
          "delta": 0.4994,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9097,
          "delta": -0.0903,
          "percent_delta": -0.0903,
          "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.4994,
          "delta": 0.4994,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7714,
          "delta": -0.2286,
          "percent_delta": -0.2286,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.178,
          "after": 0.0,
          "delta": -0.178,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2598,
          "after": 0.0,
          "delta": -0.2598,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7714,
          "after": 1.0,
          "delta": 0.2286,
          "percent_delta": 0.2963,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1411,
          "after": 0.0,
          "delta": -0.1411,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3139,
          "after": 0.284,
          "delta": -0.0299,
          "percent_delta": -0.0953,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4994,
          "after": 1.0,
          "delta": 0.5006,
          "percent_delta": 1.0024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3633,
          "after": 0.403,
          "delta": 0.0397,
          "percent_delta": 0.1093,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9097,
          "after": 1.0,
          "delta": 0.0903,
          "percent_delta": 0.0993,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4994,
          "after": 1.0,
          "delta": 0.5006,
          "percent_delta": 1.0024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2598,
          "after": 0.0,
          "delta": -0.2598,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "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": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.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": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.224,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.182,
        "after": 0.0,
        "delta": -0.182,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.174,
        "after": 3.0,
        "delta": -0.174,
        "percent_delta": -0.0548,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.224,
        "delta": -0.023,
        "percent_delta": -0.0931,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.331,
        "after": 1.0,
        "delta": 0.669,
        "percent_delta": 2.0211,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 2.0,
        "delta": 1.27,
        "percent_delta": 1.7397,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.317,
        "after": 0.284,
        "delta": -0.033,
        "percent_delta": -0.1041,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.298,
        "after": 0.0,
        "delta": -0.298,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 1.0,
        "delta": 0.58,
        "percent_delta": 1.381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.366,
        "after": 0.403,
        "delta": 0.037,
        "percent_delta": 0.1011,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.81,
        "after": 1.0,
        "delta": 0.19,
        "percent_delta": 0.2346,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 2.0,
        "delta": 1.27,
        "percent_delta": 1.7397,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.298,
        "after": 0.0,
        "delta": -0.298,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.182-
predicted_3B0.000-
predicted_AB3.174-
predicted_AVG0.247-
predicted_BB0.331-
predicted_H0.730-
predicted_HR0.090-
predicted_OBP0.317-
predicted_R0.298-
predicted_RBI0.420-
predicted_SLG0.366-
predicted_SO0.810-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.177-0.005
predicted_3B0.0000.000
predicted_AB3.171-0.003
predicted_AVG0.239-0.008
predicted_BB0.4010.070
predicted_H0.727-0.003
predicted_HBP0.030-
predicted_HR0.086-0.004
predicted_OBP0.3230.006
predicted_R0.278-0.020
predicted_RBI0.4340.014
predicted_SLG0.363-0.003
predicted_SO0.743-0.067
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1770.000
predicted_3B0.0000.000
predicted_AB3.1710.000
predicted_AVG0.228-0.011
predicted_BB0.400-0.001
predicted_H0.722-0.006
predicted_HBP0.0300.000
predicted_HR0.084-0.002
predicted_OBP0.314-0.009
predicted_R0.275-0.003
predicted_RBI0.429-0.005
predicted_SLG0.3630.000
predicted_SO0.7460.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1780.178
3B0.0080.008
BB0.2600.260
H0.771-0.229
HR0.1410.141
RBI0.4990.499
SO0.910-0.090
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.178
3B0.000-0.008
AB3.0000.000
AVG0.224-
BB0.000-0.260
H1.0000.229
HR0.000-0.141
OBP0.284-
R0.0000.000
RBI1.0000.501
SLG0.403-
SO1.0000.090
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.177
predicted_3B0.000-0.000
predicted_AB3.000-0.171
predicted_AVG0.224-0.004
predicted_BB0.000-0.400
predicted_H1.0000.278
predicted_HR0.000-0.084
predicted_OBP0.284-0.030
predicted_R0.000-0.275
predicted_RBI1.0000.571
predicted_SLG0.4030.040
predicted_SO1.0000.254
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
H2.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: 121
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0001.0000.0000.0001.0001.0005.0002.0000.20000.40000.26670.20000.00000.06670.33330.1333
last_100.2010-31.0006.0001.0000.0000.0005.0001.0005.0004.0000.19350.30770.22580.19350.00000.16130.16130.1290
season0.60121-384.00095.00022.0000.00016.00063.00036.00040.00098.0000.24740.31640.42970.24740.04170.16410.10420.2552
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1700
predicted_3B0.0010
predicted_AB3.1680
predicted_AVG0.2285
predicted_BB0.4930
predicted_H0.7240
predicted_HBP0.0300
predicted_HR0.0810
predicted_OBP0.3297
predicted_R0.2520
predicted_RBI0.4530
predicted_SLG0.3596
predicted_SO0.6550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18200.17000.1768model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.17403.16803.1714model_form_blend
predicted_AVG0.24700.22850.2390model_form_blend
predicted_BB0.33100.49300.4008model_form_blend
predicted_H0.73000.72400.7274model_form_blend
predicted_HBP-0.03000.0300form_only
predicted_HR0.09000.08100.0861model_form_blend
predicted_OBP0.31700.32970.3225model_form_blend
predicted_R0.29800.25200.2782model_form_blend
predicted_RBI0.42000.45300.4342model_form_blend
predicted_SLG0.36600.35960.3632model_form_blend
predicted_SO0.81000.65500.7432model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_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
gameID20261010_CHW@CLE
game_typefull
mlbID663993
playerID663993
playerNameNathaniel Lowe
pos1B
startedTrue
startingPosition1B
teamCLE
teamID8
game_date2026-10-10
sl_k_percent23.1
sl_bb_percent8.9
sl_woba0.329
sl_xwoba0.335
sl_xba0.268
sl_xslg0.437
sl_sweet_spot_percent39.3
sl_barrel_batted_rate8.4
sl_hard_hit_percent41.4
sl_exit_velocity_avg89.6
sl_launch_angle_avg14.6
sl_whiff_percent22.0
sl_swing_percent46.1
Angel Martínez (682657) · BATTER · LF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 400
All-history rows before 20261013: 400
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2591
Diff (system - data): -0.0141
System opponent_avg: 0.0490

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2160.0000.000Hitting_2B0.2370.000-0.2370.000
predicted_3B0.0180.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.1104.0004.000Hitting_AB3.8403.0000.1601.000
predicted_AVG0.1870.0000.000Hitting_AVG0.2590.000-0.2590.000
predicted_BB0.1170.0000.000Hitting_BB0.1330.000-0.1330.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.7700.0000.000Hitting_H0.9950.000-0.9950.000
predicted_HR0.1200.0000.000Hitting_HR0.1700.000-0.1700.000
predicted_OBP0.2340.0000.000Hitting_OBP0.2970.250-0.297-0.250
predicted_R0.4500.0000.000Hitting_R0.4971.000-0.497-1.000
predicted_RBI0.4500.0000.000Hitting_RBI0.6030.000-0.6030.000
predicted_SLG0.3420.0000.000Hitting_SLG0.4620.000-0.4620.000
predicted_SO0.8922.0002.000Hitting_SO0.9221.0001.0781.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics4
Deboosted Metrics8
Better Metrics3
Worse Metrics9
Biggest Boostpredicted_SO: 0.8920 -> 2.0000 (boost 1.1080, worse)
Biggest Deboostpredicted_H: 0.7700 -> 0.0000 (deboost -0.7700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 0.8920 -> 0.9786 (boost 0.0866, worse)predicted_AB: 4.1100 -> 3.9295 (deboost -0.1805, 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.2304 -> 0.2067 (deboost -0.0237, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72525predicted_H: 0.7250 -> 1.0000 (boost 0.2750, better)predicted_RBI: 0.4409 -> 0.0000 (deboost -0.4409, worse)AB rounded to 4 (raw=4.11), rates preserved: AVG=0.161 HR/AB=0.028
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4149 -> 0.0000 (deboost -0.4149, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.5101 (boost 0.5101, better)predicted_H: 1.0000 -> 0.8084 (deboost -0.1916, 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_allocation97272predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_2B: 0.1885 -> 0.0000 (deboost -0.1885, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization51405predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "682657",
  "player_name": "Angel Martínez",
  "position": "LF",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.216,
        "predicted_3B": 0.018,
        "predicted_AB": 4.11,
        "predicted_AVG": 0.187,
        "predicted_BB": 0.117,
        "predicted_H": 0.77,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.234,
        "predicted_R": 0.45,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.342,
        "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.197,
        "predicted_3B": 0.015,
        "predicted_AB": 3.9295,
        "predicted_AVG": 0.1857,
        "predicted_BB": 0.1105,
        "predicted_H": 0.7308,
        "predicted_HBP": 0.098,
        "predicted_HR": 0.1196,
        "predicted_OBP": 0.2304,
        "predicted_R": 0.4198,
        "predicted_RBI": 0.4461,
        "predicted_SLG": 0.3383,
        "predicted_SO": 0.9786
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.11,
          "after": 3.9295,
          "delta": -0.1805,
          "percent_delta": -0.0439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.892,
          "after": 0.9786,
          "delta": 0.0866,
          "percent_delta": 0.0971,
          "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.892,
          "after": 0.9786,
          "delta": 0.0866,
          "percent_delta": 0.0971,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.11,
          "after": 3.9295,
          "delta": -0.1805,
          "percent_delta": -0.0439,
          "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": 111
      }
    },
    {
      "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.197,
        "predicted_3B": 0.015,
        "predicted_AB": 3.9295,
        "predicted_AVG": 0.1845,
        "predicted_BB": 0.1101,
        "predicted_H": 0.725,
        "predicted_HBP": 0.098,
        "predicted_HR": 0.1171,
        "predicted_OBP": 0.2067,
        "predicted_R": 0.4149,
        "predicted_RBI": 0.4409,
        "predicted_SLG": 0.3317,
        "predicted_SO": 0.9818
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2304,
          "after": 0.2067,
          "delta": -0.0237,
          "percent_delta": -0.1029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3383,
          "after": 0.3317,
          "delta": -0.0066,
          "percent_delta": -0.0195,
          "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.2304,
          "after": 0.2067,
          "delta": -0.0237,
          "percent_delta": -0.1029,
          "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.11), rates preserved: AVG=0.161 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.197,
          "after": 0.0,
          "delta": -0.197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.9295,
          "after": 4.0,
          "delta": 0.0705,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1101,
          "after": 0.0,
          "delta": -0.1101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.725,
          "after": 1.0,
          "delta": 0.275,
          "percent_delta": 0.3793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.098,
          "after": 0.0,
          "delta": -0.098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1171,
          "after": 0.0,
          "delta": -0.1171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4409,
          "after": 0.0,
          "delta": -0.4409,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.725,
          "after": 1.0,
          "delta": 0.275,
          "percent_delta": 0.3793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4409,
          "after": 0.0,
          "delta": -0.4409,
          "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.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 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.4149,
          "after": 0.0,
          "delta": -0.4149,
          "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.4149,
          "after": 0.0,
          "delta": -0.4149,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1885,
        "predicted_3B": 0.013,
        "predicted_BB": 0.1322,
        "predicted_H": 0.8084,
        "predicted_HR": 0.1579,
        "predicted_RBI": 0.5101,
        "predicted_SO": 1.0044
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1885,
          "delta": 0.1885,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1322,
          "delta": 0.1322,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8084,
          "delta": -0.1916,
          "percent_delta": -0.1916,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1579,
          "delta": 0.1579,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5101,
          "delta": 0.5101,
          "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.5101,
          "delta": 0.5101,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8084,
          "delta": -0.1916,
          "percent_delta": -0.1916,
          "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.219,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.252,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1885,
          "after": 0.0,
          "delta": -0.1885,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1845,
          "after": 0.219,
          "delta": 0.0345,
          "percent_delta": 0.187,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1322,
          "after": 0.0,
          "delta": -0.1322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8084,
          "after": 1.0,
          "delta": 0.1916,
          "percent_delta": 0.237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1579,
          "after": 1.0,
          "delta": 0.8421,
          "percent_delta": 5.3331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2067,
          "after": 0.252,
          "delta": 0.0453,
          "percent_delta": 0.2192,
          "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.5101,
          "after": 1.0,
          "delta": 0.4899,
          "percent_delta": 0.9604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3317,
          "after": 0.405,
          "delta": 0.0733,
          "percent_delta": 0.221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 7,
        "deboosted_metrics": 2,
        "better_metrics": 7,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1885,
          "after": 0.0,
          "delta": -0.1885,
          "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.219,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.252,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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.219,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.252,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.216,
        "after": 0.0,
        "delta": -0.216,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.11,
        "after": 4.0,
        "delta": -0.11,
        "percent_delta": -0.0268,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.187,
        "after": 0.219,
        "delta": 0.032,
        "percent_delta": 0.1711,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.117,
        "after": 0.0,
        "delta": -0.117,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 0.0,
        "delta": -0.77,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.098,
        "after": 0.0,
        "delta": -0.098,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.234,
        "after": 0.252,
        "delta": 0.018,
        "percent_delta": 0.0769,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.342,
        "after": 0.405,
        "delta": 0.063,
        "percent_delta": 0.1842,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.892,
        "after": 2.0,
        "delta": 1.108,
        "percent_delta": 1.2422,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 4,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.892,
        "after": 2.0,
        "delta": 1.108,
        "percent_delta": 1.2422,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 0.0,
        "delta": -0.77,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.216-
predicted_3B0.018-
predicted_AB4.110-
predicted_AVG0.187-
predicted_BB0.117-
predicted_H0.770-
predicted_HR0.120-
predicted_OBP0.234-
predicted_R0.450-
predicted_RBI0.450-
predicted_SLG0.342-
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.197-0.019
predicted_3B0.015-0.003
predicted_AB3.929-0.181
predicted_AVG0.186-0.001
predicted_BB0.111-0.007
predicted_H0.731-0.039
predicted_HBP0.098-
predicted_HR0.120-0.000
predicted_OBP0.230-0.004
predicted_R0.420-0.030
predicted_RBI0.446-0.004
predicted_SLG0.338-0.004
predicted_SO0.9790.087
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1970.000
predicted_3B0.0150.000
predicted_AB3.9290.000
predicted_AVG0.184-0.001
predicted_BB0.110-0.000
predicted_H0.725-0.006
predicted_HBP0.0980.000
predicted_HR0.117-0.003
predicted_OBP0.207-0.024
predicted_R0.415-0.005
predicted_RBI0.441-0.005
predicted_SLG0.332-0.007
predicted_SO0.9820.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1890.189
3B0.0130.013
BB0.1320.132
H0.808-0.192
HR0.1580.158
RBI0.5100.510
SO1.0040.004
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.189
3B0.000-0.013
AB4.0000.000
AVG0.219-
BB0.000-0.132
H1.0000.192
HR1.0000.842
OBP0.252-
R1.0001.000
RBI1.0000.490
SLG0.405-
SO1.000-0.004
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.197
predicted_3B0.000-0.015
predicted_AB4.0000.071
predicted_AVG0.2190.035
predicted_BB0.000-0.110
predicted_H1.0000.275
predicted_HR1.0000.883
predicted_OBP0.2520.045
predicted_R1.0000.585
predicted_RBI1.0000.559
predicted_SLG0.4050.073
predicted_SO1.0000.018
11. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 111
Reference playing time: 4.110
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.0000.0000.0000.0000.0000.0001.0000.0009.0000.00000.05000.00000.00000.00000.00000.00000.4737
last_100.2010-37.0006.0002.0000.0001.0005.0003.0001.00011.0000.16220.20510.29730.16220.02700.13510.02700.2973
season0.60111-404.00099.00024.0002.00018.00062.00050.00013.00099.0000.24500.28170.44800.24500.04450.15350.03220.2450
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1720
predicted_3B0.0110
predicted_AB3.6910
predicted_AVG0.1840
predicted_BB0.1020
predicted_H0.6790
predicted_HBP0.0980
predicted_HR0.1190
predicted_OBP0.2257
predicted_R0.3800
predicted_RBI0.4410
predicted_SLG0.3334
predicted_SO1.0930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21600.17200.1970model_form_blend
predicted_3B0.01800.01100.0150model_form_blend
predicted_AB4.11003.69103.9295model_form_blend
predicted_AVG0.18700.18400.1857model_form_blend
predicted_BB0.11700.10200.1105model_form_blend
predicted_H0.77000.67900.7308model_form_blend
predicted_HBP-0.09800.0980form_only
predicted_HR0.12000.11900.1196model_form_blend
predicted_OBP0.23400.22570.2304model_form_blend
predicted_R0.45000.38000.4198model_form_blend
predicted_RBI0.45000.44100.4461model_form_blend
predicted_SLG0.34200.33340.3383model_form_blend
predicted_SO0.89201.09300.9786model_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 date400
Season rows before report date400
Report year2026
Profile rows used111
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP1
Hitting_H0
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261008_CLE@CHW
game_typefull
mlbID682657
playerID682657
playerNameAngel Martínez
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-10-08
sl_k_percent21.9
sl_bb_percent3.1
sl_woba0.326
sl_xwoba0.299
sl_xba0.251
sl_xslg0.401
sl_sweet_spot_percent35.1
sl_barrel_batted_rate7.2
sl_hard_hit_percent35.5
sl_exit_velocity_avg87.5
sl_launch_angle_avg14.8
sl_whiff_percent20.7
sl_swing_percent54.3
Travis Bazzana (683953) · BATTER · 2B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 494
All-history rows before 20261013: 494
System season_avg: 0.2370
Data season_avg (2026 season-to-date): 0.2486
Diff (system - data): -0.0116
System opponent_avg: 0.1180

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1830.0000.000Hitting_2B0.1780.000-0.1780.000
predicted_3B0.0160.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6194.0004.000Hitting_AB3.7043.0000.2961.000
predicted_AVG0.2010.2500.250Hitting_AVG0.2490.0000.0010.250
predicted_BB0.4520.0000.000Hitting_BB0.5040.000-0.5040.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.7201.0001.000Hitting_H0.9210.0000.0791.000
predicted_HR0.0800.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.2990.2500.250Hitting_OBP0.3440.000-0.0940.250
predicted_R0.4520.0000.000Hitting_R0.4700.000-0.4700.000
predicted_RBI0.3300.0000.000Hitting_RBI0.5200.000-0.5200.000
predicted_SB-0.0000.000BaseRunning_SB0.1700.000-0.1700.000
predicted_SLG0.3770.2500.250Hitting_SLG0.4040.000-0.1540.250
predicted_SO0.8651.0001.000Hitting_SO0.8992.0000.101-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 3.6190 -> 4.0000 (boost 0.3810, better)
Biggest Deboostpredicted_BB: 0.4520 -> 0.0000 (deboost -0.4520, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_SLG: 0.3770 -> 0.3697 (deboost -0.0073, 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.3697 -> 0.3368 (deboost -0.0329, 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.7138 -> 1.0000 (boost 0.2862, better)predicted_AB: 3.5708 -> 3.0000 (deboost -0.5708, worse)AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4738 -> 0.0000 (deboost -0.4738, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3882 (boost 0.3882, better)predicted_H: 1.0000 -> 0.7210 (deboost -0.2790, 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_allocation104637predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 0.7210 -> 0.0000 (deboost -0.7210, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization32121predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.183,
        "predicted_3B": 0.016,
        "predicted_AB": 3.619,
        "predicted_AVG": 0.201,
        "predicted_BB": 0.452,
        "predicted_H": 0.72,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.299,
        "predicted_R": 0.452,
        "predicted_RBI": 0.33,
        "predicted_SLG": 0.377,
        "predicted_SO": 0.865
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2208,
        "predicted_3B": 0.0216,
        "predicted_AB": 3.5708,
        "predicted_AVG": 0.2026,
        "predicted_BB": 0.4576,
        "predicted_H": 0.7196,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0765,
        "predicted_OBP": 0.3003,
        "predicted_R": 0.4794,
        "predicted_RBI": 0.33,
        "predicted_SLG": 0.3697,
        "predicted_SO": 0.8628
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.3697,
          "delta": -0.0073,
          "percent_delta": -0.0194,
          "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.377,
          "after": 0.3697,
          "delta": -0.0073,
          "percent_delta": -0.0194,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 126
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2208,
        "predicted_3B": 0.0216,
        "predicted_AB": 3.5708,
        "predicted_AVG": 0.1999,
        "predicted_BB": 0.4561,
        "predicted_H": 0.7138,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0749,
        "predicted_OBP": 0.2905,
        "predicted_R": 0.4738,
        "predicted_RBI": 0.3262,
        "predicted_SLG": 0.3368,
        "predicted_SO": 0.8656
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3003,
          "after": 0.2905,
          "delta": -0.0098,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3697,
          "after": 0.3368,
          "delta": -0.0329,
          "percent_delta": -0.089,
          "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.3697,
          "after": 0.3368,
          "delta": -0.0329,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 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.2208,
          "after": 0.0,
          "delta": -0.2208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5708,
          "after": 3.0,
          "delta": -0.5708,
          "percent_delta": -0.1599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4561,
          "after": 0.0,
          "delta": -0.4561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7138,
          "after": 1.0,
          "delta": 0.2862,
          "percent_delta": 0.401,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0749,
          "after": 0.0,
          "delta": -0.0749,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3262,
          "after": 0.0,
          "delta": -0.3262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8656,
          "after": 1.0,
          "delta": 0.1344,
          "percent_delta": 0.1553,
          "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.7138,
          "after": 1.0,
          "delta": 0.2862,
          "percent_delta": 0.401,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5708,
          "after": 3.0,
          "delta": -0.5708,
          "percent_delta": -0.1599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      }
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.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": 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.1638,
        "predicted_3B": 0.0114,
        "predicted_BB": 0.2965,
        "predicted_H": 0.721,
        "predicted_HR": 0.1149,
        "predicted_RBI": 0.3882,
        "predicted_SO": 0.8374
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1638,
          "delta": 0.1638,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2965,
          "delta": 0.2965,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.721,
          "delta": -0.279,
          "percent_delta": -0.279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1149,
          "delta": 0.1149,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3882,
          "delta": 0.3882,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8374,
          "delta": -0.1626,
          "percent_delta": -0.1626,
          "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.3882,
          "delta": 0.3882,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.721,
          "delta": -0.279,
          "percent_delta": -0.279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1638,
          "after": 0.0,
          "delta": -0.1638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1999,
          "after": 0.21,
          "delta": 0.0101,
          "percent_delta": 0.0505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2965,
          "after": 0.0,
          "delta": -0.2965,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.721,
          "after": 0.0,
          "delta": -0.721,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1149,
          "after": 0.0,
          "delta": -0.1149,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2905,
          "after": 0.279,
          "delta": -0.0115,
          "percent_delta": -0.0396,
          "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.3882,
          "after": 0.0,
          "delta": -0.3882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3368,
          "after": 0.365,
          "delta": 0.0282,
          "percent_delta": 0.0837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8374,
          "after": 1.0,
          "delta": 0.1626,
          "percent_delta": 0.1942,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 4,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.721,
          "after": 0.0,
          "delta": -0.721,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.21,
        "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": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.183,
        "after": 0.0,
        "delta": -0.183,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.619,
        "after": 4.0,
        "delta": 0.381,
        "percent_delta": 0.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.201,
        "after": 0.21,
        "delta": 0.009,
        "percent_delta": 0.0448,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.452,
        "after": 0.0,
        "delta": -0.452,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.72,
        "after": 1.0,
        "delta": 0.28,
        "percent_delta": 0.3889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.279,
        "delta": -0.02,
        "percent_delta": -0.0669,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.452,
        "after": 0.0,
        "delta": -0.452,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.33,
        "after": 0.0,
        "delta": -0.33,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.377,
        "after": 0.365,
        "delta": -0.012,
        "percent_delta": -0.0318,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.865,
        "after": 1.0,
        "delta": 0.135,
        "percent_delta": 0.1561,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.619,
        "after": 4.0,
        "delta": 0.381,
        "percent_delta": 0.1053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.452,
        "after": 0.0,
        "delta": -0.452,
        "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.016-
predicted_AB3.619-
predicted_AVG0.201-
predicted_BB0.452-
predicted_H0.720-
predicted_HR0.080-
predicted_OBP0.299-
predicted_R0.452-
predicted_RBI0.330-
predicted_SLG0.377-
predicted_SO0.865-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2210.038
predicted_3B0.0220.006
predicted_AB3.571-0.048
predicted_AVG0.2030.002
predicted_BB0.4580.006
predicted_H0.720-0.000
predicted_HBP0.032-
predicted_HR0.076-0.004
predicted_OBP0.3000.001
predicted_R0.4790.027
predicted_RBI0.3300.000
predicted_SLG0.370-0.007
predicted_SO0.863-0.002
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2210.000
predicted_3B0.0220.000
predicted_AB3.5710.000
predicted_AVG0.200-0.003
predicted_BB0.456-0.002
predicted_H0.714-0.006
predicted_HBP0.0320.000
predicted_HR0.075-0.002
predicted_OBP0.290-0.010
predicted_R0.474-0.006
predicted_RBI0.326-0.004
predicted_SLG0.337-0.033
predicted_SO0.8660.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 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=5.0, weight=0.057, BvP AVG=0.000)

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1640.164
3B0.0110.011
BB0.2960.296
H0.721-0.279
HR0.1150.115
RBI0.3880.388
SO0.837-0.163
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.164
3B0.000-0.011
AB3.0000.000
AVG0.210-
BB0.000-0.296
H0.000-0.721
HR0.000-0.115
OBP0.279-
R1.0001.000
RBI0.000-0.388
SLG0.365-
SO1.0000.163
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.571
predicted_AVG0.2100.010
predicted_BB0.000-0.456
predicted_H0.000-0.714
predicted_HR0.000-0.075
predicted_OBP0.279-0.011
predicted_R1.0000.526
predicted_RBI0.000-0.326
predicted_SLG0.3650.028
predicted_SO1.0000.134
11. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 126
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.0002.0002.0000.0000.0001.0003.0003.0004.0000.12500.26320.25000.12500.00000.06250.18750.2500
last_100.2010-34.0006.0004.0001.0000.0001.0006.0004.0009.0000.17650.26320.35290.17650.00000.02940.11770.2647
season0.60126-456.000108.00023.0002.00015.00056.00057.00057.000109.0000.23680.32760.39470.23680.03290.12280.12500.2390
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2700
predicted_3B0.0290
predicted_AB3.5080
predicted_AVG0.2048
predicted_BB0.4650
predicted_H0.7190
predicted_HBP0.0320
predicted_HR0.0720
predicted_OBP0.3020
predicted_R0.5150
predicted_RBI0.3300
predicted_SLG0.3601
predicted_SO0.8600
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.27000.2208model_form_blend
predicted_3B0.01600.02900.0216model_form_blend
predicted_AB3.61903.50803.5708model_form_blend
predicted_AVG0.20100.20480.2026model_form_blend
predicted_BB0.45200.46500.4576model_form_blend
predicted_H0.72000.71900.7196model_form_blend
predicted_HBP-0.03200.0320form_only
predicted_HR0.08000.07200.0765model_form_blend
predicted_OBP0.29900.30200.3003model_form_blend
predicted_R0.45200.51500.4794model_form_blend
predicted_RBI0.33000.33000.3300model_form_blend
predicted_SLG0.37700.36010.3697model_form_blend
predicted_SO0.86500.86000.8628model_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 date494
Season rows before report date494
Report year2026
Profile rows used126
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261010_CHW@CLE
game_typefull
mlbID683953
playerID683953
playerNameTravis Bazzana
pos2B
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-10-10
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 20261013: 248
All-history rows before 20261013: 248
System season_avg: 0.2190
Data season_avg (2026 season-to-date): 0.2630
Diff (system - data): -0.0440
System opponent_avg: 0.1430
System season_avg diverges from 2026 season-to-date by -0.0440. 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.1330.000-0.1330.000
predicted_3B0.0100.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.0194.0004.000Hitting_AB3.0973.0000.9031.000
predicted_AVG0.2380.0000.000Hitting_AVG0.2630.000-0.2630.000
predicted_BB0.2520.0000.000Hitting_BB0.3150.000-0.3150.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6600.0000.000Hitting_H0.8150.000-0.8150.000
predicted_HR0.1300.0000.000Hitting_HR0.1250.000-0.1250.000
predicted_OBP0.2940.0000.000Hitting_OBP0.3300.000-0.3300.000
predicted_R0.3110.0000.000Hitting_R0.3670.000-0.3670.000
predicted_RBI0.4100.0000.000Hitting_RBI0.4680.000-0.4680.000
predicted_SLG0.4300.0000.000Hitting_SLG0.4380.000-0.4380.000
predicted_SO0.8832.0002.000Hitting_SO0.9150.0001.0852.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 0.8830 -> 2.0000 (boost 1.1170, worse)
Biggest Deboostpredicted_H: 0.6600 -> 0.0000 (deboost -0.6600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend00000--Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.4294 -> 0.3964 (deboost -0.0330, 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.7016 -> 1.0000 (boost 0.2984, better)predicted_RBI: 0.4065 -> 0.0000 (deboost -0.4065, worse)AB rounded to 3 (raw=3.05), rates preserved: AVG=0.210 HR/AB=0.046
6consistency_constraints10101-predicted_R: 0.3508 -> 0.0000 (deboost -0.3508, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4121 (boost 0.4121, better)predicted_H: 1.0000 -> 0.7260 (deboost -0.2740, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation81717predicted_H: 0.7260 -> 1.0000 (boost 0.2740, better)predicted_RBI: 0.4121 -> 0.0000 (deboost -0.4121, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization32112predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.019,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.252,
        "predicted_H": 0.66,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.294,
        "predicted_R": 0.311,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.43,
        "predicted_SO": 0.883
      },
      "changed_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.051,
        "predicted_AVG": 0.2428,
        "predicted_BB": 0.2367,
        "predicted_H": 0.7073,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1436,
        "predicted_OBP": 0.2961,
        "predicted_R": 0.3549,
        "predicted_RBI": 0.4113,
        "predicted_SLG": 0.4294,
        "predicted_SO": 0.8536
      },
      "changed_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": 103
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0686,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.051,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.2359,
        "predicted_H": 0.7016,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1406,
        "predicted_OBP": 0.2852,
        "predicted_R": 0.3508,
        "predicted_RBI": 0.4065,
        "predicted_SLG": 0.3964,
        "predicted_SO": 0.8564
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2428,
          "after": 0.23,
          "delta": -0.0128,
          "percent_delta": -0.0527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2961,
          "after": 0.2852,
          "delta": -0.0109,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4294,
          "after": 0.3964,
          "delta": -0.033,
          "percent_delta": -0.0769,
          "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.4294,
          "after": 0.3964,
          "delta": -0.033,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.05), rates preserved: AVG=0.210 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0686,
          "after": 0.0,
          "delta": -0.0686,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.051,
          "after": 3.0,
          "delta": -0.051,
          "percent_delta": -0.0167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2359,
          "after": 0.0,
          "delta": -0.2359,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7016,
          "after": 1.0,
          "delta": 0.2984,
          "percent_delta": 0.4253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1406,
          "after": 0.0,
          "delta": -0.1406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4065,
          "after": 0.0,
          "delta": -0.4065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8564,
          "after": 1.0,
          "delta": 0.1436,
          "percent_delta": 0.1677,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7016,
          "after": 1.0,
          "delta": 0.2984,
          "percent_delta": 0.4253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4065,
          "after": 0.0,
          "delta": -0.4065,
          "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.3508,
          "after": 0.0,
          "delta": -0.3508,
          "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.3508,
          "after": 0.0,
          "delta": -0.3508,
          "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.1446,
        "predicted_3B": 0.0108,
        "predicted_BB": 0.2197,
        "predicted_H": 0.726,
        "predicted_HR": 0.1254,
        "predicted_RBI": 0.4121,
        "predicted_SO": 1.0239
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1446,
          "delta": 0.1446,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2197,
          "delta": 0.2197,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.726,
          "delta": -0.274,
          "percent_delta": -0.274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1254,
          "delta": 0.1254,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4121,
          "delta": 0.4121,
          "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.4121,
          "delta": 0.4121,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.726,
          "delta": -0.274,
          "percent_delta": -0.274,
          "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.216,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.378,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1446,
          "after": 0.0,
          "delta": -0.1446,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.216,
          "delta": -0.014,
          "percent_delta": -0.0609,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2197,
          "after": 0.0,
          "delta": -0.2197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.726,
          "after": 1.0,
          "delta": 0.274,
          "percent_delta": 0.3774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1254,
          "after": 0.0,
          "delta": -0.1254,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2852,
          "after": 0.271,
          "delta": -0.0142,
          "percent_delta": -0.0498,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4121,
          "after": 0.0,
          "delta": -0.4121,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3964,
          "after": 0.378,
          "delta": -0.0184,
          "percent_delta": -0.0464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.726,
          "after": 1.0,
          "delta": 0.274,
          "percent_delta": 0.3774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4121,
          "after": 0.0,
          "delta": -0.4121,
          "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.216,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.378,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.216,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.378,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.078,
        "after": 0.0,
        "delta": -0.078,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.019,
        "after": 4.0,
        "delta": 0.981,
        "percent_delta": 0.3249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.216,
        "delta": -0.022,
        "percent_delta": -0.0924,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.252,
        "after": 0.0,
        "delta": -0.252,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "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.294,
        "after": 0.271,
        "delta": -0.023,
        "percent_delta": -0.0782,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.311,
        "after": 0.0,
        "delta": -0.311,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.43,
        "after": 0.378,
        "delta": -0.052,
        "percent_delta": -0.1209,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.883,
        "after": 2.0,
        "delta": 1.117,
        "percent_delta": 1.265,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.883,
        "after": 2.0,
        "delta": 1.117,
        "percent_delta": 1.265,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "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.019-
predicted_AVG0.238-
predicted_BB0.252-
predicted_H0.660-
predicted_HR0.130-
predicted_OBP0.294-
predicted_R0.311-
predicted_RBI0.410-
predicted_SLG0.430-
predicted_SO0.883-
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.0510.032
predicted_AVG0.2430.005
predicted_BB0.237-0.015
predicted_H0.7070.047
predicted_HBP0.008-
predicted_HR0.1440.014
predicted_OBP0.2960.002
predicted_R0.3550.044
predicted_RBI0.4110.001
predicted_SLG0.429-0.001
predicted_SO0.854-0.029
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0690.000
predicted_3B0.0090.000
predicted_AB3.0510.000
predicted_AVG0.230-0.013
predicted_BB0.236-0.001
predicted_H0.702-0.006
predicted_HBP0.0080.000
predicted_HR0.141-0.003
predicted_OBP0.285-0.011
predicted_R0.351-0.004
predicted_RBI0.406-0.005
predicted_SLG0.396-0.033
predicted_SO0.8560.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0110.011
BB0.2200.220
H0.726-0.274
HR0.1250.125
RBI0.4120.412
SO1.0240.024
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.145
3B0.000-0.011
AB3.0000.000
AVG0.216-
BB0.000-0.220
H1.0000.274
HR0.000-0.125
OBP0.271-
R0.0000.000
RBI0.000-0.412
SLG0.378-
SO1.000-0.024
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.069
predicted_3B0.000-0.009
predicted_AB3.000-0.051
predicted_AVG0.216-0.014
predicted_BB0.000-0.236
predicted_H1.0000.298
predicted_HR0.000-0.141
predicted_OBP0.271-0.014
predicted_R0.000-0.351
predicted_RBI0.000-0.406
predicted_SLG0.378-0.018
predicted_SO1.0000.144
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 103
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.0000.0000.0001.0002.0003.0001.0002.0000.33330.37500.53330.33330.06670.13330.06670.1333
last_100.2010-31.0008.0000.0000.0003.0005.0005.0001.00010.0000.25810.28120.54840.25810.09680.16130.03230.3226
season0.60103-311.00068.0008.0001.00011.00039.00032.00026.00091.0000.21860.27860.35690.21870.03540.12540.08360.2926
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0560
predicted_3B0.0070
predicted_AB3.0940
predicted_AVG0.2493
predicted_BB0.2160
predicted_H0.7710
predicted_HBP0.0080
predicted_HR0.1620
predicted_OBP0.2990
predicted_R0.4140
predicted_RBI0.4130
predicted_SLG0.4286
predicted_SO0.8140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07800.05600.0686model_form_blend
predicted_3B0.01000.00700.0087model_form_blend
predicted_AB3.01903.09403.0510model_form_blend
predicted_AVG0.23800.24930.2428model_form_blend
predicted_BB0.25200.21600.2367model_form_blend
predicted_H0.66000.77100.7073model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.13000.16200.1436model_form_blend
predicted_OBP0.29400.29900.2961model_form_blend
predicted_R0.31100.41400.3549model_form_blend
predicted_RBI0.41000.41300.4113model_form_blend
predicted_SLG0.43000.42860.4294model_form_blend
predicted_SO0.88300.81400.8536model_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 date248
Season rows before report date248
Report year2026
Profile rows used103
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261010_CHW@CLE
game_typefull
mlbID672275
playerID672275
playerNamePatrick Bailey
posC
startedTrue
startingPositionC
teamCLE
teamID8
game_date2026-10-10
sl_k_percent26.7
sl_bb_percent8.1
sl_woba0.271
sl_xwoba0.307
sl_xba0.24
sl_xslg0.398
sl_sweet_spot_percent36.6
sl_barrel_batted_rate7.7
sl_hard_hit_percent42.4
sl_exit_velocity_avg90.5
sl_launch_angle_avg13.4
sl_whiff_percent26.8
sl_swing_percent49.6
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 573
All-history rows before 20261013: 573
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2498
Diff (system - data): 0.0002
System opponent_avg: 0.1250

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1620.0000.000Hitting_2B0.1640.000-0.1640.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.4814.0004.000Hitting_AB3.5993.0000.4011.000
predicted_AVG0.2120.0000.000Hitting_AVG0.2500.000-0.2500.000
predicted_BB0.2530.0000.000Hitting_BB0.2580.000-0.2580.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.7100.0000.000Hitting_H0.8990.000-0.8990.000
predicted_HR0.0700.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.3030.0000.000Hitting_OBP0.3120.000-0.3120.000
predicted_R0.4220.0000.000Hitting_R0.4360.000-0.4360.000
predicted_RBI0.3800.0000.000Hitting_RBI0.4420.000-0.4420.000
predicted_SLG0.3480.0000.000Hitting_SLG0.3710.000-0.3710.000
predicted_SO0.5650.0000.000Hitting_SO0.5812.000-0.581-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_AB: 3.4810 -> 4.0000 (boost 0.5190, better)
Biggest Deboostpredicted_H: 0.7100 -> 0.0000 (deboost -0.7100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2120 -> 0.2190 (boost 0.0070, better)predicted_AB: 3.4810 -> 3.4161 (deboost -0.0649, 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.3063 -> 0.2760 (deboost -0.0303, 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.5804 -> 1.0000 (boost 0.4196, worse)predicted_AB: 3.4161 -> 3.0000 (deboost -0.4161, worse)AB rounded to 3 (raw=3.48), rates preserved: AVG=0.191 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)
7consistency_constraints10101-predicted_R: 0.4047 -> 0.0000 (deboost -0.4047, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3720 (boost 0.3720, better)predicted_SO: 1.0000 -> 0.5623 (deboost -0.4377, 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_allocation92736predicted_SLG: 0.3279 -> 0.3560 (boost 0.0281, better)predicted_H: 0.7052 -> 0.0000 (deboost -0.7052, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization11010predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "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.162,
        "predicted_3B": 0.013,
        "predicted_AB": 3.481,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.253,
        "predicted_H": 0.71,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.303,
        "predicted_R": 0.422,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.348,
        "predicted_SO": 0.565
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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.1415,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4161,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.3005,
        "predicted_H": 0.7318,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.0787,
        "predicted_OBP": 0.3063,
        "predicted_R": 0.4094,
        "predicted_RBI": 0.3817,
        "predicted_SLG": 0.3483,
        "predicted_SO": 0.5785
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.481,
          "after": 3.4161,
          "delta": -0.0649,
          "percent_delta": -0.0186,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.219,
          "delta": 0.007,
          "percent_delta": 0.033,
          "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_AVG",
          "before": 0.212,
          "after": 0.219,
          "delta": 0.007,
          "percent_delta": 0.033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.481,
          "after": 3.4161,
          "delta": -0.0649,
          "percent_delta": -0.0186,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 154
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1415,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4161,
        "predicted_AVG": 0.2125,
        "predicted_BB": 0.2995,
        "predicted_H": 0.7259,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.0771,
        "predicted_OBP": 0.276,
        "predicted_R": 0.4047,
        "predicted_RBI": 0.3773,
        "predicted_SLG": 0.3279,
        "predicted_SO": 0.5804
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2125,
          "delta": -0.0065,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3063,
          "after": 0.276,
          "delta": -0.0303,
          "percent_delta": -0.0989,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3483,
          "after": 0.3279,
          "delta": -0.0204,
          "percent_delta": -0.0586,
          "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.3063,
          "after": 0.276,
          "delta": -0.0303,
          "percent_delta": -0.0989,
          "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.191 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.1415,
          "after": 0.0,
          "delta": -0.1415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4161,
          "after": 3.0,
          "delta": -0.4161,
          "percent_delta": -0.1218,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2995,
          "after": 0.0,
          "delta": -0.2995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7259,
          "after": 1.0,
          "delta": 0.2741,
          "percent_delta": 0.3776,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0771,
          "after": 0.0,
          "delta": -0.0771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3773,
          "after": 0.0,
          "delta": -0.3773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5804,
          "after": 1.0,
          "delta": 0.4196,
          "percent_delta": 0.7229,
          "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.5804,
          "after": 1.0,
          "delta": 0.4196,
          "percent_delta": 0.7229,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4161,
          "after": 3.0,
          "delta": -0.4161,
          "percent_delta": -0.1218,
          "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.4047,
          "after": 0.0,
          "delta": -0.4047,
          "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.4047,
          "after": 0.0,
          "delta": -0.4047,
          "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.1471,
        "predicted_3B": 0.0099,
        "predicted_BB": 0.1841,
        "predicted_H": 0.7052,
        "predicted_HR": 0.0878,
        "predicted_RBI": 0.372,
        "predicted_SO": 0.5623
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1471,
          "delta": 0.1471,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1841,
          "delta": 0.1841,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7052,
          "delta": -0.2948,
          "percent_delta": -0.2948,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0878,
          "delta": 0.0878,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.372,
          "delta": 0.372,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5623,
          "delta": -0.4377,
          "percent_delta": -0.4377,
          "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.372,
          "delta": 0.372,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5623,
          "delta": -0.4377,
          "percent_delta": -0.4377,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.221,
        "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.356,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1471,
          "after": 0.0,
          "delta": -0.1471,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2125,
          "after": 0.221,
          "delta": 0.0085,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1841,
          "after": 0.0,
          "delta": -0.1841,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7052,
          "after": 0.0,
          "delta": -0.7052,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0878,
          "after": 0.0,
          "delta": -0.0878,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.27,
          "delta": -0.006,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.372,
          "after": 0.0,
          "delta": -0.372,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3279,
          "after": 0.356,
          "delta": 0.0281,
          "percent_delta": 0.0857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5623,
          "after": 0.0,
          "delta": -0.5623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3279,
          "after": 0.356,
          "delta": 0.0281,
          "percent_delta": 0.0857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7052,
          "after": 0.0,
          "delta": -0.7052,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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.221,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.162,
        "after": 0.0,
        "delta": -0.162,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.481,
        "after": 4.0,
        "delta": 0.519,
        "percent_delta": 0.1491,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.221,
        "delta": 0.009,
        "percent_delta": 0.0425,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.253,
        "after": 0.0,
        "delta": -0.253,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.303,
        "after": 0.27,
        "delta": -0.033,
        "percent_delta": -0.1089,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.422,
        "after": 0.0,
        "delta": -0.422,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.348,
        "after": 0.356,
        "delta": 0.008,
        "percent_delta": 0.023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.565,
        "after": 0.0,
        "delta": -0.565,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.481,
        "after": 4.0,
        "delta": 0.519,
        "percent_delta": 0.1491,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 0.0,
        "delta": -0.71,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.162-
predicted_3B0.013-
predicted_AB3.481-
predicted_AVG0.212-
predicted_BB0.253-
predicted_H0.710-
predicted_HR0.070-
predicted_OBP0.303-
predicted_R0.422-
predicted_RBI0.380-
predicted_SLG0.348-
predicted_SO0.565-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.141-0.021
predicted_3B0.011-0.002
predicted_AB3.416-0.065
predicted_AVG0.2190.007
predicted_BB0.3000.047
predicted_H0.7320.022
predicted_HBP0.040-
predicted_HR0.0790.009
predicted_OBP0.3060.003
predicted_R0.409-0.013
predicted_RBI0.3820.002
predicted_SLG0.3480.000
predicted_SO0.5790.014
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1410.000
predicted_3B0.0110.000
predicted_AB3.4160.000
predicted_AVG0.212-0.007
predicted_BB0.299-0.001
predicted_H0.726-0.006
predicted_HBP0.0400.000
predicted_HR0.077-0.002
predicted_OBP0.276-0.030
predicted_R0.405-0.005
predicted_RBI0.377-0.004
predicted_SLG0.328-0.020
predicted_SO0.5800.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.48), rates preserved: AVG=0.191 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=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.1470.147
3B0.0100.010
BB0.1840.184
H0.705-0.295
HR0.0880.088
RBI0.3720.372
SO0.562-0.438
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.147
3B0.000-0.010
AB3.0000.000
AVG0.221-
BB0.000-0.184
H0.000-0.705
HR0.000-0.088
OBP0.270-
R0.0000.000
RBI0.000-0.372
SLG0.356-
SO0.000-0.562
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.141
predicted_3B0.000-0.011
predicted_AB3.000-0.416
predicted_AVG0.2210.009
predicted_BB0.000-0.299
predicted_H0.000-0.726
predicted_HR0.000-0.077
predicted_OBP0.270-0.006
predicted_R0.000-0.405
predicted_RBI0.000-0.377
predicted_SLG0.3560.028
predicted_SO0.000-0.580
11. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 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.0002.0000.0000.0000.0001.0001.0003.0003.0000.14290.29410.14290.14290.00000.07140.21430.2143
last_100.2010-33.0008.0001.0000.0002.0004.0005.0004.0006.0000.24240.32430.45450.24240.06060.12120.12120.1818
season0.60154-536.000134.00025.0002.00013.00068.00065.00039.00087.0000.25000.31190.37690.25000.02430.12690.07280.1623
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1150
predicted_3B0.0080
predicted_AB3.3320
predicted_AVG0.2281
predicted_BB0.3620
predicted_H0.7600
predicted_HBP0.0400
predicted_HR0.0900
predicted_OBP0.3106
predicted_R0.3930
predicted_RBI0.3840
predicted_SLG0.3486
predicted_SO0.5960
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16200.11500.1415model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.48103.33203.4161model_form_blend
predicted_AVG0.21200.22810.2190model_form_blend
predicted_BB0.25300.36200.3005model_form_blend
predicted_H0.71000.76000.7318model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.07000.09000.0787model_form_blend
predicted_OBP0.30300.31060.3063model_form_blend
predicted_R0.42200.39300.4094model_form_blend
predicted_RBI0.38000.38400.3817model_form_blend
predicted_SLG0.34800.34860.3483model_form_blend
predicted_SO0.56500.59600.5785model_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 date573
Season rows before report date573
Report year2026
Profile rows used154
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

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

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.5000.000-0.5001.000
predicted_ER5.0005.0005.000Pitching_ER2.6001.0002.4004.000
predicted_H10.00010.00010.000Pitching_H5.7002.0004.3008.000
predicted_IP5.0005.0005.000Pitching_InningsPitched4.5302.2000.4702.800
predicted_SO2.0002.0002.000Pitching_SO4.9007.000-2.900-5.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics3
Deboosted Metrics2
Better Metrics0
Worse Metrics5
Biggest Boostpredicted_H: 5.0000 -> 10.0000 (boost 5.0000, worse)
Biggest Deboostpredicted_SO: 8.0000 -> 2.0000 (deboost -6.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization53205predicted_H: 5.0000 -> 10.0000 (boost 5.0000, worse)predicted_SO: 8.0000 -> 2.0000 (deboost -6.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": "656492",
  "player_name": "Foster Griffin",
  "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": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 8.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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": "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": 5.0,
        "predicted_H": 10.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 5.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": 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": 10.0,
          "delta": 5.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.0,
          "delta": -0.3333,
          "percent_delta": -0.0625,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 10.0,
          "delta": 5.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 2.0,
          "delta": -6.0,
          "percent_delta": -0.75,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 5.0,
        "predicted_H": 10.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.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": 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": 10.0,
        "delta": 5.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.0,
        "delta": -0.3333,
        "percent_delta": -0.0625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 8.0,
        "after": 2.0,
        "delta": -6.0,
        "percent_delta": -0.75,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 3,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 10.0,
        "delta": 5.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 8.0,
        "after": 2.0,
        "delta": -6.0,
        "percent_delta": -0.75,
        "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_HR0.000-
predicted_IP5.333-
predicted_SO8.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. 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-
BF26.000-
ER5.000-
H10.000-
HR0.000-
IP5.000-
Pitches110.000-
R5.000-
SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 32
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45521.00015.00032.0006.00026.0000.0006.42861.80950.71431.52380.28571.23810.0000
last_100.351046.00026.00057.00015.00049.0004.0005.08701.56520.56521.23910.32611.06520.0870
season0.2032175.10070.000166.00045.000165.00023.0003.59321.20340.39920.94680.25660.94110.1312
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4510
predicted_ER2.7870
predicted_ERA5.2884
predicted_H5.9990
predicted_HR0.3270
predicted_IP4.2000
predicted_SO5.1850
predicted_WHIP1.5710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.45100.8603model_form_blend
predicted_ER3.00002.78702.8737model_form_blend
predicted_ERA-5.28845.2884form_only
predicted_H5.00005.99905.5923model_form_blend
predicted_HR0.00000.32700.1939model_form_blend
predicted_IP5.10004.20005.0000model_form_blend
predicted_SO8.00005.18506.3309model_form_blend
predicted_WHIP-1.57101.5710form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H10
R5
ER5
BB1
SO2
HR0
BF26
Pitches110

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced11
Pitching_ER1
Pitching_ERA3.38
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H2
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.2
Pitching_Pitches53
Pitching_R1
Pitching_SO7
Pitching_Strikes39
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261007_CLE@CHW
game_typefull
mlbID656492
playerID656492
playerNameFoster Griffin
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-07
sl_k_percent21.9
sl_bb_percent6.2
sl_woba0.311
sl_xwoba0.32
sl_sweet_spot_percent36.6
sl_barrel_batted_rate8.3
sl_hard_hit_percent37.0
sl_whiff_percent23.2
sl_swing_percent48.4
sl_avg_best_speed75.80857136
sl_avg_hyper_speed93.91929358
Joey Cantillo (676282) · PITCHER · Long Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 34
All-history rows before 20261013: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB2.4412.000-2.441-2.000
predicted_ER0.0000.0000.000Pitching_ER1.9121.000-1.912-1.000
predicted_H1.0001.0001.000Pitching_H4.2941.000-3.2940.000
predicted_IP2.0002.0002.000Pitching_InningsPitched4.6091.200-2.6090.800
predicted_SO1.0001.0001.000Pitching_SO5.0591.000-4.0590.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics0
Deboosted Metrics3
Better Metrics2
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_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_realization30321-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": "676282",
  "player_name": "Joey Cantillo",
  "position": "Long 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": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend 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": 2.0,
        "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": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "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": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 0,
      "deboosted_metrics": 3,
      "better_metrics": 2,
      "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_H3.000-
predicted_HR0.000-
predicted_IP2.000-
predicted_SO2.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend 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-
BF7.000-
ER0.000-
H1.000-
HR0.000-
IP2.000-
Pitches31.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: 34
Reference playing time: 2.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45519.0005.0009.00011.00021.0001.0002.36841.05260.26320.47370.57891.10530.0526
last_100.351042.00014.00028.00027.00043.0002.0003.00001.30950.33330.66670.64291.02380.0476
season0.2034160.20065.000146.00083.000172.00017.0003.64111.42530.40460.90870.51661.07050.1058
Weighted Prediction From Real Data
MetricValue
predicted_BB2.1540
predicted_ER1.3080
predicted_ERA3.0723
predicted_H2.5820
predicted_HR0.2780
predicted_IP3.2000
predicted_SO4.0310
predicted_WHIP1.2363
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00002.15401.2834model_form_blend
predicted_ER2.00001.30801.5877model_form_blend
predicted_ERA-3.07233.0723form_only
predicted_H3.00002.58202.7509model_form_blend
predicted_HR0.00000.27800.1656model_form_blend
predicted_IP2.00003.20003.0000model_form_blend
predicted_SO2.00004.03103.2101model_form_blend
predicted_WHIP-1.23631.2363form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H1
R0
ER0
BB0
SO1
HR0
BF7
Pitches31

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER1
Pitching_ERA5.40
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches25
Pitching_R1
Pitching_SO1
Pitching_Strikes14
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261007_CLE@CHW
game_typefull
mlbID676282
playerID676282
playerNameJoey Cantillo
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-07
sl_k_percent24.9
sl_bb_percent11.8
sl_woba0.324
sl_xwoba0.308
sl_sweet_spot_percent32.4
sl_barrel_batted_rate7.5
sl_hard_hit_percent39.4
sl_whiff_percent29.1
sl_swing_percent44.4
sl_avg_best_speed76.892746095
sl_avg_hyper_speed93.87355431
Tanner Bibee (676440) · PITCHER · Middle Reliever · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 34
All-history rows before 20261013: 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_ER0.0000.0000.000Pitching_ER2.7352.000-2.735-2.000
predicted_H0.0000.0000.000Pitching_H5.1470.000-5.1470.000
predicted_IP1.0001.0001.000Pitching_InningsPitched5.4090.100-4.4090.900
predicted_SO2.0002.0002.000Pitching_SO4.3821.000-2.3821.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_IP: 0.1000 -> 1.0000 (boost 0.9000, 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_IP: 0.1000 -> 1.0000 (boost 0.9000, 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": "676440",
  "player_name": "Tanner Bibee",
  "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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "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_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "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_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "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_IP0.100-
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-
BF3.000-
ER0.000-
H0.000-
HR0.000-
IP1.000-
Pitches14.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: 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.8900
predicted_ERA6.1117
predicted_H4.8990
predicted_HR0.5770
predicted_IP4.1000
predicted_SO3.3930
predicted_WHIP1.4749
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.37901.2258model_form_blend
predicted_ER0.00002.89001.7220model_form_blend
predicted_ERA-6.11176.1117form_only
predicted_H0.00004.89902.9190model_form_blend
predicted_HR0.00000.57700.3438model_form_blend
predicted_IP0.10004.10002.2000model_form_blend
predicted_SO2.00003.39302.8300model_form_blend
predicted_WHIP-1.47491.4749form_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
IP1.0
H0
R0
ER0
BB0
SO2
HR0
BF3
Pitches14

Latest Real Data Snapshot (before report date)

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

Home Team: TB

Home Pitcher Deep Analysis

FieldValue
PitcherDrew Rasmussen
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5597
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1407
Avg Velo92.3759
Avg Spin2355.1144
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H7
Pre BB2
Pre SO5
Season ERA2.5500
Season WHIP0.8889
Role Avg IP5.8060
Recent Avg IP6.7330
Last Start IP8
Team Form Snapshot
{
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0125,
    "defense_index": 1.1184,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9327,
    "defense_index": 1.0899,
    "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.0199,
    "offense_edge": 0.0125,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.1184,
    "opponent_defense_weakness": -0.0899,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 1.007,
    "run_prevention": 0.9764,
    "strikeout": 1.006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656876",
    "profile": {
      "available": true,
      "pitcher_id": "656876",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 645.0,
        "k_percent": 26.0,
        "bb_percent": 4.8,
        "woba": 0.243,
        "xwoba": 0.271,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 33.8,
        "avg_best_speed": 77.4285,
        "avg_hyper_speed": 93.597,
        "whiff_percent": 25.1,
        "swing_percent": 50.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.906,
        "command_and_miss": 0.4657,
        "regression_edge": -0.8,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.5857,
        "whiff_edge": -0.0143,
        "bb_edge": 1.1,
        "pitch_design_score": 0.1407
      },
      "quality_score": 0.5597,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9524,
      "strikeout_factor": 1.0217,
      "walk_factor": 0.912,
      "homer_factor": 0.9183,
      "woba_minus_xwoba": -0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656876",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9524,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9524,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.912,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9183,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.0217,
        "adjusted": 7
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 62.2,
    "ER": 13,
    "H": 37,
    "BB": 14,
    "SO": 62,
    "HR": 2,
    "ERA": 1.8670212765957446,
    "WHIP": 0.8138297872340425,
    "K9": 8.904255319148936,
    "HR9": 0.28723404255319146,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656876",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 90,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 90,
    "pitch_usage": 0.0,
    "release_speed": 92.37588033984052,
    "release_spin_rate": 2355.1143668897917,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 90,
      "pitch_usage": 0.0,
      "release_speed": 92.37588033984052,
      "release_spin_rate": 2355.1143668897917,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 92.3759,
    "release_spin_rate": 2355.1144,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1407,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0047,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 31.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8611,
    "prior_weight": 0.1389
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656876",
  "report_date": "20261013",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 33.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 17.0,
        "BB": 7.0,
        "SO": 35.0,
        "HR": 1.0,
        "BF": 121.0,
        "Pitches": 480.0
      },
      "per_game": {
        "IP": 6.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 3.4,
        "BB": 1.4,
        "SO": 7.0,
        "HR": 0.2,
        "BF": 24.2,
        "Pitches": 96.0
      },
      "rates": {
        "ERA": 0.802,
        "WHIP": 0.7129,
        "ER_per_IP": 0.08911,
        "H_per_IP": 0.50495,
        "BB_per_IP": 0.20792,
        "SO_per_IP": 1.0396,
        "HR_per_IP": 0.0297
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 62.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 37.0,
        "BB": 14.0,
        "SO": 62.0,
        "HR": 2.0,
        "BF": 234.0,
        "Pitches": 941.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.3,
        "R": 1.3,
        "H": 3.7,
        "BB": 1.4,
        "SO": 6.2,
        "HR": 0.2,
        "BF": 23.4,
        "Pitches": 94.1
      },
      "rates": {
        "ERA": 1.867,
        "WHIP": 0.8138,
        "ER_per_IP": 0.20745,
        "H_per_IP": 0.59043,
        "BB_per_IP": 0.2234,
        "SO_per_IP": 0.98936,
        "HR_per_IP": 0.03191
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 180.0,
        "ER": 51.0,
        "R": 53.0,
        "H": 126.0,
        "BB": 34.0,
        "SO": 184.0,
        "HR": 14.0,
        "BF": 695.0,
        "Pitches": 2761.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6452,
        "R": 1.7097,
        "H": 4.0645,
        "BB": 1.0968,
        "SO": 5.9355,
        "HR": 0.4516,
        "BF": 22.4194,
        "Pitches": 89.0645
      },
      "rates": {
        "ERA": 2.55,
        "WHIP": 0.8889,
        "ER_per_IP": 0.28333,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.18889,
        "SO_per_IP": 1.02222,
        "HR_per_IP": 0.07778
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 1.379,
    "predicted_H": 4.006,
    "predicted_BB": 1.482,
    "predicted_SO": 6.391,
    "predicted_HR": 0.349,
    "predicted_ERA": 1.9551,
    "predicted_WHIP": 0.8645
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4087,
  "form_weight": 0.5913,
  "form_reliability": 0.8611,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 31.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8611,
    "prior_weight": 0.1389
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 1.379,
      "final": 2.4502,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.006,
      "final": 4.0035,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.482,
      "final": 2.1024,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 6.391,
      "final": 5.8225,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.349,
      "final": 0.2064,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9551,
      "final": 1.9551,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8645,
      "final": 0.8645,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherIan Seymour
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3363
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2091
Avg Velo86.1296
Avg Spin1962.9441
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER1
Pre H2
Pre BB1
Pre SO2
Season ERA3.8102
Season WHIP1.0730
Role Avg IP1.8750
Recent Avg IP3
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0125,
    "defense_index": 1.1184,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9327,
    "defense_index": 1.0899,
    "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.0199,
    "offense_edge": 0.0125,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.1184,
    "opponent_defense_weakness": -0.0899,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 1.007,
    "run_prevention": 0.9764,
    "strikeout": 1.006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "693855",
    "profile": {
      "available": true,
      "pitcher_id": "693855",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 500.0,
        "k_percent": 28.7,
        "bb_percent": 6.5,
        "woba": 0.308,
        "xwoba": 0.291,
        "sweet_spot_percent": 34.4,
        "barrel_batted_rate": 9.9,
        "hard_hit_percent": 36.9,
        "avg_best_speed": 77.1895,
        "avg_hyper_speed": 93.8128,
        "whiff_percent": 29.4,
        "swing_percent": 51.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.1865,
        "command_and_miss": 0.7693,
        "regression_edge": 0.4857,
        "xwoba_edge": 0.6,
        "barrel_edge": -0.6,
        "hard_hit_edge": 0.1429,
        "whiff_edge": 0.6,
        "bb_edge": 0.675,
        "pitch_design_score": -0.2091
      },
      "quality_score": 0.3363,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9714,
      "strikeout_factor": 1.0617,
      "walk_factor": 0.946,
      "homer_factor": 1.0243,
      "woba_minus_xwoba": 0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "693855",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9714,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9714,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.946,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0243,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0617,
        "adjusted": 3
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 40.2,
    "ER": 19,
    "H": 38,
    "BB": 5,
    "SO": 49,
    "HR": 11,
    "ERA": 4.204918032786885,
    "WHIP": 1.0573770491803278,
    "K9": 10.844262295081968,
    "HR9": 2.4344262295081966,
    "games_pitched": 10,
    "quality_starts": 2,
    "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": "693855",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 79,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 79,
    "pitch_usage": 0.0,
    "release_speed": 86.1295711647252,
    "release_spin_rate": 1962.9440503947853,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 79,
      "pitch_usage": 0.0,
      "release_speed": 86.1295711647252,
      "release_spin_rate": 1962.9440503947853,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.1296,
    "release_spin_rate": 1962.9441,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2091,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.4938,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.33,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.85,
    "prior_weight": 0.15
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "693855",
  "report_date": "20261013",
  "season_year": 2026,
  "rows_used": 48,
  "reference_playing_time": 2.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 14.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 10.0,
        "BB": 2.0,
        "SO": 14.0,
        "HR": 3.0,
        "BF": 57.0,
        "Pitches": 211.0
      },
      "per_game": {
        "IP": 3.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 0.4,
        "SO": 2.8,
        "HR": 0.6,
        "BF": 11.4,
        "Pitches": 42.2
      },
      "rates": {
        "ERA": 3.0682,
        "WHIP": 0.8182,
        "ER_per_IP": 0.34091,
        "H_per_IP": 0.68182,
        "BB_per_IP": 0.13636,
        "SO_per_IP": 0.95455,
        "HR_per_IP": 0.20455
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 40.2,
        "ER": 19.0,
        "R": 21.0,
        "H": 38.0,
        "BB": 5.0,
        "SO": 49.0,
        "HR": 11.0,
        "BF": 167.0,
        "Pitches": 631.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 1.9,
        "R": 2.1,
        "H": 3.8,
        "BB": 0.5,
        "SO": 4.9,
        "HR": 1.1,
        "BF": 16.7,
        "Pitches": 63.1
      },
      "rates": {
        "ERA": 4.2049,
        "WHIP": 1.0574,
        "ER_per_IP": 0.46721,
        "H_per_IP": 0.93443,
        "BB_per_IP": 0.12295,
        "SO_per_IP": 1.20492,
        "HR_per_IP": 0.27049
      }
    },
    "season": {
      "games": 48,
      "totals": {
        "IP": 137.0,
        "ER": 58.0,
        "R": 63.0,
        "H": 111.0,
        "BB": 36.0,
        "SO": 164.0,
        "HR": 26.0,
        "BF": 561.0,
        "Pitches": 2166.0
      },
      "per_game": {
        "IP": 3.0,
        "ER": 1.2083,
        "R": 1.3125,
        "H": 2.3125,
        "BB": 0.75,
        "SO": 3.4167,
        "HR": 0.5417,
        "BF": 11.6875,
        "Pitches": 45.125
      },
      "rates": {
        "ERA": 3.8102,
        "WHIP": 1.073,
        "ER_per_IP": 0.42336,
        "H_per_IP": 0.81022,
        "BB_per_IP": 0.26277,
        "SO_per_IP": 1.19708,
        "HR_per_IP": 0.18978
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.0,
    "predicted_ER": 1.317,
    "predicted_H": 2.595,
    "predicted_BB": 0.6,
    "predicted_SO": 3.359,
    "predicted_HR": 0.671,
    "predicted_ERA": 3.7661,
    "predicted_WHIP": 1.0151
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4134,
  "form_weight": 0.5866,
  "form_reliability": 0.85,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.33,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.85,
    "prior_weight": 0.15
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 2.0,
      "form": 3.0,
      "final": 2.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.317,
      "final": 0.7726,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 2.595,
      "final": 1.5223,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.6,
      "final": 0.7653,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 3.359,
      "final": 2.3838,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.671,
      "final": 0.3936,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7661,
      "final": 3.7661,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0151,
      "final": 1.0151,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherCam Booser
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4156
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.9286
Season WHIP0.7619
Role Avg IP0.9550
Recent Avg IP0.7330
Last Start IP0
Team Form Snapshot
{
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0125,
    "defense_index": 1.1184,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9327,
    "defense_index": 1.0899,
    "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.0199,
    "offense_edge": 0.0125,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.1184,
    "opponent_defense_weakness": -0.0899,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 1.007,
    "run_prevention": 0.9764,
    "strikeout": 1.006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592155",
    "profile": {
      "available": true,
      "pitcher_id": "592155",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 137.0,
        "k_percent": 29.6,
        "bb_percent": 3.9,
        "woba": 0.222,
        "xwoba": 0.252,
        "sweet_spot_percent": 32.7,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 81.0831,
        "avg_hyper_speed": 94.1974,
        "whiff_percent": 28.6,
        "swing_percent": 55.5
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0817,
        "command_and_miss": 0.9171,
        "regression_edge": -0.8571,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.0429,
        "whiff_edge": 0.4857,
        "bb_edge": 1.325,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.4156,
      "sample_weight": 0.548,
      "run_prevention_factor": 0.9647,
      "strikeout_factor": 1.0341,
      "walk_factor": 0.9419,
      "homer_factor": 0.9582,
      "woba_minus_xwoba": -0.03,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "592155",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9807,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9807,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9682,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9771,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0187,
        "adjusted": 2
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.1,
    "ER": 0,
    "H": 1,
    "BB": 1,
    "SO": 6,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.27272727272727276,
    "K9": 7.363636363636365,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-07T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "592155",
  "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.685,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6346,
    "prior_weight": 0.3654
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592155",
  "report_date": "20261013",
  "season_year": 2026,
  "rows_used": 44,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 14.0,
        "Pitches": 52.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 2.8,
        "Pitches": 10.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5455,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.27273,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 90.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1,
        "BB": 0.1,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 2.5,
        "Pitches": 9.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2727,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.13636,
        "BB_per_IP": 0.13636,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 44,
      "totals": {
        "IP": 42.0,
        "ER": 9.0,
        "R": 10.0,
        "H": 25.0,
        "BB": 7.0,
        "SO": 45.0,
        "HR": 5.0,
        "BF": 157.0,
        "Pitches": 589.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2045,
        "R": 0.2273,
        "H": 0.5682,
        "BB": 0.1591,
        "SO": 1.0227,
        "HR": 0.1136,
        "BF": 3.5682,
        "Pitches": 13.3864
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.7619,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.59524,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.11905
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.152,
    "predicted_H": 0.386,
    "predicted_BB": 0.191,
    "predicted_SO": 0.633,
    "predicted_HR": 0.049,
    "predicted_ERA": 1.9348,
    "predicted_WHIP": 0.8127
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5044,
  "form_weight": 0.4956,
  "form_reliability": 0.6346,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.685,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6346,
    "prior_weight": 0.3654
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.152,
      "final": 0.0753,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.386,
      "final": 0.1913,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.191,
      "final": 0.0947,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.633,
      "final": 0.3137,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.049,
      "final": 0.0243,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9348,
      "final": 1.9348,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8127,
      "final": 0.8127,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Yandy Díaz (650490) · BATTER · DH · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 664
All-history rows before 20261013: 664
System season_avg: 0.2940
Data season_avg (2026 season-to-date): 0.2986
Diff (system - data): -0.0046
System opponent_avg: 0.2170

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1671.0001.000Hitting_2B0.1730.0000.8271.000
predicted_3B0.0060.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB5.6304.0004.000Hitting_AB4.0754.000-0.0750.000
predicted_AVG0.2710.2500.250Hitting_AVG0.2990.250-0.0490.000
predicted_BB0.3650.0000.000Hitting_BB0.3630.000-0.3630.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.5301.0001.000Hitting_H1.2171.000-0.2170.000
predicted_HR0.1200.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.3440.2500.250Hitting_OBP0.3620.250-0.1120.000
predicted_R0.6031.0001.000Hitting_R0.6130.0000.3871.000
predicted_RBI0.5900.0000.000Hitting_RBI0.5770.000-0.5770.000
predicted_SLG0.3950.5000.500Hitting_SLG0.4540.2500.0460.250
predicted_SO0.6410.0000.000Hitting_SO0.6432.000-0.643-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_2B: 0.1670 -> 1.0000 (boost 0.8330, better)
Biggest Deboostpredicted_AB: 5.6300 -> 4.0000 (deboost -1.6300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AVG: 0.2710 -> 0.2777 (boost 0.0067, better)predicted_AB: 5.6300 -> 4.9009 (deboost -0.7291, 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.3461 -> 0.3229 (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_scaling70716-predicted_AB: 4.9009 -> 4.0000 (deboost -0.9009, worse)AB rounded to 4 (raw=5.63), rates preserved: AVG=0.241 HR/AB=0.019
6consistency_constraints11010predicted_R: 0.6200 -> 1.0000 (boost 0.3800, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine66051predicted_SO: 0.0000 -> 0.6477 (boost 0.6477, 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_allocation97263predicted_2B: 0.1953 -> 1.0000 (boost 0.8047, better)predicted_HR: 0.1498 -> 0.0000 (deboost -0.1498, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization30312-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "650490",
  "player_name": "Yandy Díaz",
  "position": "DH",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.167,
        "predicted_3B": 0.006,
        "predicted_AB": 5.63,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.365,
        "predicted_H": 1.53,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.344,
        "predicted_R": 0.603,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.395,
        "predicted_SO": 0.641
      },
      "changed_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.1639,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.9009,
        "predicted_AVG": 0.2777,
        "predicted_BB": 0.3611,
        "predicted_H": 1.357,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1051,
        "predicted_OBP": 0.3461,
        "predicted_R": 0.6341,
        "predicted_RBI": 0.5112,
        "predicted_SLG": 0.3946,
        "predicted_SO": 0.6379
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 5.63,
          "after": 4.9009,
          "delta": -0.7291,
          "percent_delta": -0.1295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2777,
          "delta": 0.0067,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.53,
          "after": 1.357,
          "delta": -0.173,
          "percent_delta": -0.1131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5112,
          "delta": -0.0788,
          "percent_delta": -0.1336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2777,
          "delta": 0.0067,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.63,
          "after": 4.9009,
          "delta": -0.7291,
          "percent_delta": -0.1295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 156
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1639,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.9009,
        "predicted_AVG": 0.273,
        "predicted_BB": 0.3615,
        "predicted_H": 1.3379,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.1044,
        "predicted_OBP": 0.3229,
        "predicted_R": 0.62,
        "predicted_RBI": 0.4999,
        "predicted_SLG": 0.3724,
        "predicted_SO": 0.6372
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3461,
          "after": 0.3229,
          "delta": -0.0232,
          "percent_delta": -0.067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3946,
          "after": 0.3724,
          "delta": -0.0222,
          "percent_delta": -0.0563,
          "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.3461,
          "after": 0.3229,
          "delta": -0.0232,
          "percent_delta": -0.067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.63), rates preserved: AVG=0.241 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1639,
          "after": 0.0,
          "delta": -0.1639,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.9009,
          "after": 4.0,
          "delta": -0.9009,
          "percent_delta": -0.1838,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3615,
          "after": 0.0,
          "delta": -0.3615,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3379,
          "after": 1.0,
          "delta": -0.3379,
          "percent_delta": -0.2526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1044,
          "after": 0.0,
          "delta": -0.1044,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4999,
          "after": 0.0,
          "delta": -0.4999,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6372,
          "after": 0.0,
          "delta": -0.6372,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.9009,
          "after": 4.0,
          "delta": -0.9009,
          "percent_delta": -0.1838,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.62,
          "after": 1.0,
          "delta": 0.38,
          "percent_delta": 0.6129,
          "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.62,
          "after": 1.0,
          "delta": 0.38,
          "percent_delta": 0.6129,
          "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.1953,
        "predicted_3B": 0.0126,
        "predicted_BB": 0.3055,
        "predicted_H": 1.1386,
        "predicted_HR": 0.1498,
        "predicted_RBI": 0.5293,
        "predicted_SO": 0.6477
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1953,
          "delta": 0.1953,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3055,
          "delta": 0.3055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1386,
          "delta": 0.1386,
          "percent_delta": 0.1386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1498,
          "delta": 0.1498,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5293,
          "delta": 0.5293,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6477,
          "delta": 0.6477,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6477,
          "delta": 0.6477,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.281,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.446,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1953,
          "after": 1.0,
          "delta": 0.8047,
          "percent_delta": 4.1203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.273,
          "after": 0.281,
          "delta": 0.008,
          "percent_delta": 0.0293,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3055,
          "after": 1.0,
          "delta": 0.6945,
          "percent_delta": 2.2733,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1386,
          "after": 1.0,
          "delta": -0.1386,
          "percent_delta": -0.1217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1498,
          "after": 0.0,
          "delta": -0.1498,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3229,
          "after": 0.336,
          "delta": 0.0131,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5293,
          "after": 1.0,
          "delta": 0.4707,
          "percent_delta": 0.8893,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3724,
          "after": 0.446,
          "delta": 0.0736,
          "percent_delta": 0.1976,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6477,
          "after": 1.0,
          "delta": 0.3523,
          "percent_delta": 0.5439,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 7,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1953,
          "after": 1.0,
          "delta": 0.8047,
          "percent_delta": 4.1203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1498,
          "after": 0.0,
          "delta": -0.1498,
          "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.281,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.446,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.281,
        "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.336,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.446,
        "predicted_SO": 0.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.167,
        "after": 1.0,
        "delta": 0.833,
        "percent_delta": 4.988,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 5.63,
        "after": 4.0,
        "delta": -1.63,
        "percent_delta": -0.2895,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.271,
        "after": 0.281,
        "delta": 0.01,
        "percent_delta": 0.0369,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.365,
        "after": 0.0,
        "delta": -0.365,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.53,
        "after": 1.0,
        "delta": -0.53,
        "percent_delta": -0.3464,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.344,
        "after": 0.336,
        "delta": -0.008,
        "percent_delta": -0.0233,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.603,
        "after": 1.0,
        "delta": 0.397,
        "percent_delta": 0.6584,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.446,
        "delta": 0.051,
        "percent_delta": 0.1291,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.641,
        "after": 0.0,
        "delta": -0.641,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.167,
        "after": 1.0,
        "delta": 0.833,
        "percent_delta": 4.988,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.63,
        "after": 4.0,
        "delta": -1.63,
        "percent_delta": -0.2895,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.167-
predicted_3B0.006-
predicted_AB5.630-
predicted_AVG0.271-
predicted_BB0.365-
predicted_H1.530-
predicted_HR0.120-
predicted_OBP0.344-
predicted_R0.603-
predicted_RBI0.590-
predicted_SLG0.395-
predicted_SO0.641-
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.164-0.003
predicted_3B0.005-0.001
predicted_AB4.901-0.729
predicted_AVG0.2780.007
predicted_BB0.361-0.004
predicted_H1.357-0.173
predicted_HBP0.038-
predicted_HR0.105-0.015
predicted_OBP0.3460.002
predicted_R0.6340.031
predicted_RBI0.511-0.079
predicted_SLG0.395-0.000
predicted_SO0.638-0.003
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1640.000
predicted_3B0.0050.000
predicted_AB4.9010.000
predicted_AVG0.273-0.005
predicted_BB0.3610.000
predicted_H1.338-0.019
predicted_HBP0.0380.000
predicted_HR0.104-0.001
predicted_OBP0.323-0.023
predicted_R0.620-0.014
predicted_RBI0.500-0.011
predicted_SLG0.372-0.022
predicted_SO0.637-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.63), rates preserved: AVG=0.241 HR/AB=0.019

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1950.195
3B0.0130.013
BB0.3050.305
H1.1390.139
HR0.1500.150
RBI0.5290.529
SO0.6480.648
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.805
3B0.000-0.013
AB4.0000.000
AVG0.281-
BB1.0000.695
H1.000-0.139
HR0.000-0.150
OBP0.336-
R1.0000.000
RBI1.0000.471
SLG0.446-
SO1.0000.352
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.836
predicted_3B0.000-0.005
predicted_AB4.000-0.901
predicted_AVG0.2810.008
predicted_BB1.0000.639
predicted_H1.000-0.338
predicted_HR0.000-0.104
predicted_OBP0.3360.013
predicted_R1.0000.380
predicted_RBI1.0000.500
predicted_SLG0.4460.074
predicted_SO1.0000.363
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
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
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 156
Reference playing time: 5.630
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0006.0001.0000.0000.0000.0004.0001.0003.0000.30000.33330.35000.30000.00000.00000.05000.1500
last_100.2010-39.00010.0001.0000.0000.0004.0008.0005.0006.0000.25640.34090.28210.25640.00000.10260.12820.1538
season0.60156-622.000183.00026.0001.00022.00085.00094.00057.000100.0000.29420.35970.44530.29420.03540.13670.09160.1608
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1600
predicted_3B0.0040
predicted_AB3.9650
predicted_AVG0.2862
predicted_BB0.3560
predicted_H1.1350
predicted_HBP0.0380
predicted_HR0.0860
predicted_OBP0.3488
predicted_R0.6740
predicted_RBI0.4100
predicted_SLG0.3942
predicted_SO0.6340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16700.16000.1639model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB5.63003.96504.9009model_form_blend
predicted_AVG0.27100.28620.2777model_form_blend
predicted_BB0.36500.35600.3611model_form_blend
predicted_H1.53001.13501.3570model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.12000.08600.1051model_form_blend
predicted_OBP0.34400.34880.3461model_form_blend
predicted_R0.60300.67400.6341model_form_blend
predicted_RBI0.59000.41000.5112model_form_blend
predicted_SLG0.39500.39420.3946model_form_blend
predicted_SO0.64100.63400.6379model_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 date664
Season rows before report date664
Report year2026
Profile rows used156
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261007_TB@NYY
game_typefull
mlbID650490
playerID650490
playerNameYandy Díaz
posDH
startedTrue
startingPositionDH
teamTB
teamID27
game_date2026-10-07
sl_k_percent14.3
sl_bb_percent8.2
sl_woba0.35
sl_xwoba0.346
sl_xba0.281
sl_xslg0.439
sl_sweet_spot_percent29.7
sl_barrel_batted_rate7.1
sl_hard_hit_percent48.1
sl_exit_velocity_avg90.9
sl_launch_angle_avg6.0
sl_whiff_percent14.8
sl_swing_percent47.5
Jonathan Aranda (666018) · BATTER · 1B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 645
All-history rows before 20261013: 645
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2834
Diff (system - data): -0.0064
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1720.0000.000Hitting_2B0.1750.000-0.1750.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2603.0003.000Hitting_AB3.9053.000-0.9050.000
predicted_AVG0.2670.3330.333Hitting_AVG0.2830.3330.0500.000
predicted_BB0.4331.0001.000Hitting_BB0.4590.0000.5411.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.1401.0001.000Hitting_H1.1071.000-0.1070.000
predicted_HR0.2000.0000.000Hitting_HR0.1520.000-0.1520.000
predicted_OBP0.3490.5000.500Hitting_OBP0.3650.5000.1350.000
predicted_R0.4781.0001.000Hitting_R0.5160.0000.4841.000
predicted_RBI0.5700.0000.000Hitting_RBI0.6541.000-0.654-1.000
predicted_SLG0.4460.3330.333Hitting_SLG0.4450.333-0.1120.000
predicted_SO1.0320.0000.000Hitting_SO1.0650.000-1.0650.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics4
Worse Metrics8
Biggest Boostpredicted_BB: 0.4330 -> 1.0000 (boost 0.5670, better)
Biggest Deboostpredicted_AB: 4.2600 -> 3.0000 (deboost -1.2600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.2600 -> 3.9878 (deboost -0.2722, 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.3513 -> 0.3339 (deboost -0.0174, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_RBI: 0.5248 -> 0.0000 (deboost -0.5248, worse)AB rounded to 4 (raw=4.26), rates preserved: AVG=0.251 HR/AB=0.043
6consistency_constraints10101-predicted_R: 0.4456 -> 0.0000 (deboost -0.4456, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55050predicted_RBI: 0.0000 -> 0.5947 (boost 0.5947, 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_allocation72525predicted_RBI: 0.5947 -> 1.0000 (boost 0.4053, better)predicted_BB: 0.2940 -> 0.0000 (deboost -0.2940, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization52332predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "666018",
  "player_name": "Jonathan Aranda",
  "position": "1B",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.172,
        "predicted_3B": 0.0,
        "predicted_AB": 4.26,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.433,
        "predicted_H": 1.14,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.349,
        "predicted_R": 0.478,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.446,
        "predicted_SO": 1.032
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1681,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9878,
        "predicted_AVG": 0.2679,
        "predicted_BB": 0.4155,
        "predicted_H": 1.0695,
        "predicted_HBP": 0.104,
        "predicted_HR": 0.186,
        "predicted_OBP": 0.3513,
        "predicted_R": 0.4557,
        "predicted_RBI": 0.5367,
        "predicted_SLG": 0.4489,
        "predicted_SO": 0.9996
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 3.9878,
          "delta": -0.2722,
          "percent_delta": -0.0639,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.14,
          "after": 1.0695,
          "delta": -0.0705,
          "percent_delta": -0.0618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.26,
          "after": 3.9878,
          "delta": -0.2722,
          "percent_delta": -0.0639,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 157
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1681,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9878,
        "predicted_AVG": 0.2644,
        "predicted_BB": 0.416,
        "predicted_H": 1.0544,
        "predicted_HBP": 0.104,
        "predicted_HR": 0.1848,
        "predicted_OBP": 0.3339,
        "predicted_R": 0.4456,
        "predicted_RBI": 0.5248,
        "predicted_SLG": 0.4458,
        "predicted_SO": 0.9985
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3513,
          "after": 0.3339,
          "delta": -0.0174,
          "percent_delta": -0.0495,
          "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.3513,
          "after": 0.3339,
          "delta": -0.0174,
          "percent_delta": -0.0495,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.251 HR/AB=0.043",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1681,
          "after": 0.0,
          "delta": -0.1681,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.416,
          "after": 0.0,
          "delta": -0.416,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0544,
          "after": 1.0,
          "delta": -0.0544,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.104,
          "after": 0.0,
          "delta": -0.104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1848,
          "after": 0.0,
          "delta": -0.1848,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5248,
          "after": 0.0,
          "delta": -0.5248,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5248,
          "after": 0.0,
          "delta": -0.5248,
          "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.4456,
          "after": 0.0,
          "delta": -0.4456,
          "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.4456,
          "after": 0.0,
          "delta": -0.4456,
          "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.1716,
        "predicted_3B": 0.0103,
        "predicted_BB": 0.294,
        "predicted_H": 1.0564,
        "predicted_HR": 0.1455,
        "predicted_RBI": 0.5947,
        "predicted_SO": 1.0474
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1716,
          "delta": 0.1716,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.294,
          "delta": 0.294,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0564,
          "delta": 0.0564,
          "percent_delta": 0.0564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1455,
          "delta": 0.1455,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5947,
          "delta": 0.5947,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5947,
          "delta": 0.5947,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.274,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.436,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1716,
          "after": 0.0,
          "delta": -0.1716,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2644,
          "after": 0.274,
          "delta": 0.0096,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.0,
          "delta": -0.294,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0564,
          "after": 1.0,
          "delta": -0.0564,
          "percent_delta": -0.0534,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1455,
          "after": 0.0,
          "delta": -0.1455,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5947,
          "after": 1.0,
          "delta": 0.4053,
          "percent_delta": 0.6815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4458,
          "after": 0.436,
          "delta": -0.0098,
          "percent_delta": -0.022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5947,
          "after": 1.0,
          "delta": 0.4053,
          "percent_delta": 0.6815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.0,
          "delta": -0.294,
          "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.274,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.436,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.274,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.436,
        "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.172,
        "after": 0.0,
        "delta": -0.172,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.26,
        "after": 3.0,
        "delta": -1.26,
        "percent_delta": -0.2958,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.274,
        "delta": 0.007,
        "percent_delta": 0.0262,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.433,
        "after": 1.0,
        "delta": 0.567,
        "percent_delta": 1.3095,
        "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_HBP",
        "before": 0.104,
        "after": 0.0,
        "delta": -0.104,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.349,
        "after": 0.33,
        "delta": -0.019,
        "percent_delta": -0.0544,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.478,
        "after": 1.0,
        "delta": 0.522,
        "percent_delta": 1.0921,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.446,
        "after": 0.436,
        "delta": -0.01,
        "percent_delta": -0.0224,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.032,
        "after": 0.0,
        "delta": -1.032,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 4,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.433,
        "after": 1.0,
        "delta": 0.567,
        "percent_delta": 1.3095,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.26,
        "after": 3.0,
        "delta": -1.26,
        "percent_delta": -0.2958,
        "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.172-
predicted_3B0.000-
predicted_AB4.260-
predicted_AVG0.267-
predicted_BB0.433-
predicted_H1.140-
predicted_HR0.200-
predicted_OBP0.349-
predicted_R0.478-
predicted_RBI0.570-
predicted_SLG0.446-
predicted_SO1.032-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.168-0.004
predicted_3B0.0000.000
predicted_AB3.988-0.272
predicted_AVG0.2680.001
predicted_BB0.415-0.018
predicted_H1.069-0.071
predicted_HBP0.104-
predicted_HR0.186-0.014
predicted_OBP0.3510.002
predicted_R0.456-0.022
predicted_RBI0.537-0.033
predicted_SLG0.4490.003
predicted_SO1.000-0.032
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1680.000
predicted_3B0.0000.000
predicted_AB3.9880.000
predicted_AVG0.264-0.004
predicted_BB0.4160.001
predicted_H1.054-0.015
predicted_HBP0.1040.000
predicted_HR0.185-0.001
predicted_OBP0.334-0.017
predicted_R0.446-0.010
predicted_RBI0.525-0.012
predicted_SLG0.446-0.003
predicted_SO0.999-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
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.1720.172
3B0.0100.010
BB0.2940.294
H1.0560.056
HR0.1450.145
RBI0.5950.595
SO1.0470.047
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.172
3B0.000-0.010
AB4.0000.000
AVG0.274-
BB0.000-0.294
H1.000-0.056
HR0.000-0.145
OBP0.330-
R0.0000.000
RBI1.0000.405
SLG0.436-
SO1.000-0.047
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.168
predicted_3B0.000-0.000
predicted_AB4.0000.012
predicted_AVG0.2740.010
predicted_BB0.000-0.416
predicted_H1.000-0.054
predicted_HR0.000-0.185
predicted_OBP0.330-0.004
predicted_R0.000-0.446
predicted_RBI1.0000.475
predicted_SLG0.436-0.010
predicted_SO1.0000.001
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
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: 157
Reference playing time: 4.260
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0001.0002.0002.0002.0003.0000.27780.38100.50000.27780.05560.11110.11110.1667
last_100.2010-33.0008.0001.0000.0002.0003.0003.0003.00011.0000.24240.32430.45450.24240.06060.09090.09090.3333
season0.60157-589.000163.00027.0000.00023.00094.00075.00068.000162.0000.27670.35890.43970.27670.03910.15960.11540.2750
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1630
predicted_3B0.0010
predicted_AB3.6380
predicted_AVG0.2691
predicted_BB0.3930
predicted_H0.9790
predicted_HBP0.1040
predicted_HR0.1680
predicted_OBP0.3542
predicted_R0.4270
predicted_RBI0.4940
predicted_SLG0.4527
predicted_SO0.9580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17200.16300.1681model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.26003.63803.9878model_form_blend
predicted_AVG0.26700.26910.2679model_form_blend
predicted_BB0.43300.39300.4155model_form_blend
predicted_H1.14000.97901.0695model_form_blend
predicted_HBP-0.10400.1040form_only
predicted_HR0.20000.16800.1860model_form_blend
predicted_OBP0.34900.35420.3513model_form_blend
predicted_R0.47800.42700.4557model_form_blend
predicted_RBI0.57000.49400.5367model_form_blend
predicted_SLG0.44600.45270.4489model_form_blend
predicted_SO1.03200.95800.9996model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
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_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261007_TB@NYY
game_typefull
mlbID666018
playerID666018
playerNameJonathan Aranda
pos1B
startedTrue
startingPosition1B
teamTB
teamID27
game_date2026-10-07
sl_k_percent24.4
sl_bb_percent10.3
sl_woba0.348
sl_xwoba0.343
sl_xba0.254
sl_xslg0.438
sl_sweet_spot_percent38.8
sl_barrel_batted_rate9.9
sl_hard_hit_percent46.0
sl_exit_velocity_avg91.1
sl_launch_angle_avg14.4
sl_whiff_percent22.5
sl_swing_percent46.7
Junior Caminero (691406) · BATTER · 3B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 675
All-history rows before 20261013: 675
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2845
Diff (system - data): -0.0075
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1590.0000.000Hitting_2B0.1630.000-0.1630.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB4.4804.0004.000Hitting_AB3.8904.0000.1100.000
predicted_AVG0.2590.5000.500Hitting_AVG0.2840.2500.2160.250
predicted_BB0.4940.0000.000Hitting_BB0.5350.000-0.5350.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H1.1602.0002.000Hitting_H1.1071.0000.8931.000
predicted_HR0.2400.0000.000Hitting_HR0.2770.000-0.2770.000
predicted_OBP0.3690.5000.500Hitting_OBP0.3730.2500.1270.250
predicted_R0.6221.0001.000Hitting_R0.6711.0000.3290.000
predicted_RBI0.6601.0001.000Hitting_RBI0.6710.0000.3291.000
predicted_SLG0.5000.5000.500Hitting_SLG0.5430.250-0.0430.250
predicted_SO0.7931.0001.000Hitting_SO0.7881.0000.2120.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_H: 1.1600 -> 2.0000 (boost 0.8400, better)
Biggest Deboostpredicted_BB: 0.4940 -> 0.0000 (deboost -0.4940, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_AVG: 0.2590 -> 0.2700 (boost 0.0110, better)predicted_AB: 4.4800 -> 4.0795 (deboost -0.4005, 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.5054 -> 0.4737 (deboost -0.0317, 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.7798 -> 1.0000 (boost 0.2202, worse)predicted_RBI: 0.5867 -> 0.0000 (deboost -0.5867, worse)AB rounded to 4 (raw=4.48), rates preserved: AVG=0.244 HR/AB=0.050
6consistency_constraints11010predicted_R: 0.6433 -> 1.0000 (boost 0.3567, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.5396 (boost 0.5396, better)predicted_SO: 1.0000 -> 0.7284 (deboost -0.2716, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation65142predicted_HR: 0.2228 -> 1.0000 (boost 0.7772, better)predicted_2B: 0.1751 -> 0.0000 (deboost -0.1751, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization31212predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "691406",
  "player_name": "Junior Caminero",
  "position": "3B",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.159,
        "predicted_3B": 0.006,
        "predicted_AB": 4.48,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.494,
        "predicted_H": 1.16,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.369,
        "predicted_R": 0.622,
        "predicted_RBI": 0.66,
        "predicted_SLG": 0.5,
        "predicted_SO": 0.793
      },
      "changed_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.1673,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0795,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.4857,
        "predicted_H": 1.0956,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.2264,
        "predicted_OBP": 0.3687,
        "predicted_R": 0.6579,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.5054,
        "predicted_SO": 0.7807
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.48,
          "after": 4.0795,
          "delta": -0.4005,
          "percent_delta": -0.0894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.27,
          "delta": 0.011,
          "percent_delta": 0.0425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.16,
          "after": 1.0956,
          "delta": -0.0644,
          "percent_delta": -0.0555,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.66,
          "after": 0.6,
          "delta": -0.06,
          "percent_delta": -0.0909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.5054,
          "delta": 0.0054,
          "percent_delta": 0.0108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.27,
          "delta": 0.011,
          "percent_delta": 0.0425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.48,
          "after": 4.0795,
          "delta": -0.4005,
          "percent_delta": -0.0894,
          "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.1673,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0795,
        "predicted_AVG": 0.2648,
        "predicted_BB": 0.4862,
        "predicted_H": 1.0802,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.2249,
        "predicted_OBP": 0.3431,
        "predicted_R": 0.6433,
        "predicted_RBI": 0.5867,
        "predicted_SLG": 0.4737,
        "predicted_SO": 0.7798
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2648,
          "delta": -0.0052,
          "percent_delta": -0.0193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3687,
          "after": 0.3431,
          "delta": -0.0256,
          "percent_delta": -0.0694,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5054,
          "after": 0.4737,
          "delta": -0.0317,
          "percent_delta": -0.0627,
          "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.5054,
          "after": 0.4737,
          "delta": -0.0317,
          "percent_delta": -0.0627,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.244 HR/AB=0.050",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1673,
          "after": 0.0,
          "delta": -0.1673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0795,
          "after": 4.0,
          "delta": -0.0795,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4862,
          "after": 0.0,
          "delta": -0.4862,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0802,
          "after": 1.0,
          "delta": -0.0802,
          "percent_delta": -0.0742,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2249,
          "after": 0.0,
          "delta": -0.2249,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5867,
          "after": 0.0,
          "delta": -0.5867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7798,
          "after": 1.0,
          "delta": 0.2202,
          "percent_delta": 0.2824,
          "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.7798,
          "after": 1.0,
          "delta": 0.2202,
          "percent_delta": 0.2824,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5867,
          "after": 0.0,
          "delta": -0.5867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.6433,
          "after": 1.0,
          "delta": 0.3567,
          "percent_delta": 0.5545,
          "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.6433,
          "after": 1.0,
          "delta": 0.3567,
          "percent_delta": 0.5545,
          "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.1751,
        "predicted_3B": 0.0113,
        "predicted_BB": 0.3675,
        "predicted_H": 0.9816,
        "predicted_HR": 0.2228,
        "predicted_RBI": 0.5396,
        "predicted_SO": 0.7284
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1751,
          "delta": 0.1751,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3675,
          "delta": 0.3675,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2228,
          "delta": 0.2228,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5396,
          "delta": 0.5396,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7284,
          "delta": -0.2716,
          "percent_delta": -0.2716,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5396,
          "delta": 0.5396,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7284,
          "delta": -0.2716,
          "percent_delta": -0.2716,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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.268,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.504,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1751,
          "after": 0.0,
          "delta": -0.1751,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3675,
          "after": 1.0,
          "delta": 0.6325,
          "percent_delta": 1.7211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2228,
          "after": 1.0,
          "delta": 0.7772,
          "percent_delta": 3.4883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5396,
          "after": 1.0,
          "delta": 0.4604,
          "percent_delta": 0.8532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4737,
          "after": 0.504,
          "delta": 0.0303,
          "percent_delta": 0.064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7284,
          "after": 1.0,
          "delta": 0.2716,
          "percent_delta": 0.3729,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2228,
          "after": 1.0,
          "delta": 0.7772,
          "percent_delta": 3.4883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1751,
          "after": 0.0,
          "delta": -0.1751,
          "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.268,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.504,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.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": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.504,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.159,
        "after": 0.0,
        "delta": -0.159,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.48,
        "after": 4.0,
        "delta": -0.48,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.268,
        "delta": 0.009,
        "percent_delta": 0.0347,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.494,
        "after": 0.0,
        "delta": -0.494,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.16,
        "after": 2.0,
        "delta": 0.84,
        "percent_delta": 0.7241,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.369,
        "after": 0.339,
        "delta": -0.03,
        "percent_delta": -0.0813,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.622,
        "after": 1.0,
        "delta": 0.378,
        "percent_delta": 0.6077,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.66,
        "after": 1.0,
        "delta": 0.34,
        "percent_delta": 0.5152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.793,
        "after": 1.0,
        "delta": 0.207,
        "percent_delta": 0.261,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.16,
        "after": 2.0,
        "delta": 0.84,
        "percent_delta": 0.7241,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.494,
        "after": 0.0,
        "delta": -0.494,
        "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.159-
predicted_3B0.006-
predicted_AB4.480-
predicted_AVG0.259-
predicted_BB0.494-
predicted_H1.160-
predicted_HR0.240-
predicted_OBP0.369-
predicted_R0.622-
predicted_RBI0.660-
predicted_SLG0.500-
predicted_SO0.793-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1670.008
predicted_3B0.005-0.001
predicted_AB4.080-0.401
predicted_AVG0.2700.011
predicted_BB0.486-0.008
predicted_H1.096-0.064
predicted_HBP0.014-
predicted_HR0.226-0.014
predicted_OBP0.369-0.000
predicted_R0.6580.036
predicted_RBI0.600-0.060
predicted_SLG0.5050.005
predicted_SO0.781-0.012
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1670.000
predicted_3B0.0050.000
predicted_AB4.0800.000
predicted_AVG0.265-0.005
predicted_BB0.4860.001
predicted_H1.080-0.015
predicted_HBP0.0140.000
predicted_HR0.225-0.002
predicted_OBP0.343-0.026
predicted_R0.643-0.015
predicted_RBI0.587-0.013
predicted_SLG0.474-0.032
predicted_SO0.780-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1750.175
3B0.0110.011
BB0.3670.367
H0.982-0.018
HR0.2230.223
RBI0.5400.540
SO0.728-0.272
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.175
3B0.000-0.011
AB4.0000.000
AVG0.268-
BB1.0000.633
H1.0000.018
HR1.0000.777
OBP0.339-
R1.0000.000
RBI1.0000.460
SLG0.504-
SO1.0000.272
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.167
predicted_3B0.000-0.005
predicted_AB4.000-0.080
predicted_AVG0.2680.003
predicted_BB1.0000.514
predicted_H1.000-0.080
predicted_HR1.0000.775
predicted_OBP0.339-0.004
predicted_R1.0000.357
predicted_RBI1.0000.413
predicted_SLG0.5040.030
predicted_SO1.0000.220
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 164
Reference playing time: 4.480
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0005.0001.0000.0001.0002.0005.0003.0004.0000.33330.44440.60000.33330.06670.13330.20000.2667
last_100.2010-34.0009.0002.0000.0001.0004.0006.0003.0006.0000.26470.32430.41180.26470.02940.11770.08820.1765
season0.60164-622.000172.00026.0001.00042.000101.000102.00081.000130.0000.27650.36200.52410.27650.06750.16240.13020.2090
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1780
predicted_3B0.0040
predicted_AB3.5660
predicted_AVG0.2840
predicted_BB0.4750
predicted_H1.0130
predicted_HBP0.0140
predicted_HR0.2090
predicted_OBP0.3683
predicted_R0.7040
predicted_RBI0.5230
predicted_SLG0.5124
predicted_SO0.7650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15900.17800.1673model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.48003.56604.0795model_form_blend
predicted_AVG0.25900.28400.2700model_form_blend
predicted_BB0.49400.47500.4857model_form_blend
predicted_H1.16001.01301.0956model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.24000.20900.2264model_form_blend
predicted_OBP0.36900.36830.3687model_form_blend
predicted_R0.62200.70400.6579model_form_blend
predicted_RBI0.66000.52300.6000model_form_blend
predicted_SLG0.50000.51240.5054model_form_blend
predicted_SO0.79300.76500.7807model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20261007_TB@NYY
game_typefull
mlbID691406
playerID691406
playerNameJunior Caminero
pos3B
startedTrue
startingPosition3B
teamTB
teamID27
game_date2026-10-07
sl_k_percent18.4
sl_bb_percent11.3
sl_woba0.375
sl_xwoba0.364
sl_xba0.273
sl_xslg0.499
sl_sweet_spot_percent27.1
sl_barrel_batted_rate13.1
sl_hard_hit_percent49.7
sl_exit_velocity_avg92.7
sl_launch_angle_avg10.4
sl_whiff_percent24.1
sl_swing_percent44.4
Ryan Vilade (668723) · BATTER · RF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 259
All-history rows before 20261013: 259
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2753
Diff (system - data): -0.0283
System opponent_avg: 0.5000
System season_avg diverges from 2026 season-to-date by -0.0283. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0890.0000.000Hitting_2B0.1240.000-0.1240.000
predicted_3B0.0220.0000.000Hitting_3B0.0390.000-0.0390.000
predicted_AB2.8304.0004.000Hitting_AB3.0582.0000.9422.000
predicted_AVG0.2600.2500.250Hitting_AVG0.2750.500-0.025-0.250
predicted_BB0.2670.0000.000Hitting_BB0.3090.000-0.3090.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.7301.0001.000Hitting_H0.8421.0000.1580.000
predicted_HR0.1500.0000.000Hitting_HR0.1511.000-0.151-1.000
predicted_OBP0.3140.2500.250Hitting_OBP0.3450.500-0.095-0.250
predicted_R0.3221.0001.000Hitting_R0.3941.0000.6060.000
predicted_RBI0.5101.0001.000Hitting_RBI0.5601.0000.4400.000
predicted_SLG0.4380.2500.250Hitting_SLG0.4892.000-0.239-1.750
predicted_SO0.7220.0000.000Hitting_SO0.7720.000-0.7720.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_AB: 2.8300 -> 4.0000 (boost 1.1700, better)
Biggest Deboostpredicted_SO: 0.7220 -> 0.0000 (deboost -0.7220, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AVG: 0.2600 -> 0.2454 (deboost -0.0146, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_SLG: 0.4257 -> 0.4366 (boost 0.0109, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling84435predicted_RBI: 0.4916 -> 1.0000 (boost 0.5084, better)predicted_BB: 0.2732 -> 0.0000 (deboost -0.2732, worse)AB rounded to 3 (raw=2.83), rates preserved: AVG=0.243 HR/AB=0.051
6consistency_constraints10101-predicted_R: 0.3338 -> 0.0000 (deboost -0.3338, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2787 (boost 0.2787, better)predicted_RBI: 1.0000 -> 0.5228 (deboost -0.4772, 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_allocation96354predicted_RBI: 0.5228 -> 1.0000 (boost 0.4772, better)predicted_BB: 0.2787 -> 0.0000 (deboost -0.2787, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_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
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "668723",
  "player_name": "Ryan Vilade",
  "position": "RF",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.089,
        "predicted_3B": 0.022,
        "predicted_AB": 2.83,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.267,
        "predicted_H": 0.73,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.314,
        "predicted_R": 0.322,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.438,
        "predicted_SO": 0.722
      },
      "changed_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.0781,
        "predicted_3B": 0.0186,
        "predicted_AB": 2.8212,
        "predicted_AVG": 0.2454,
        "predicted_BB": 0.2729,
        "predicted_H": 0.6892,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.1466,
        "predicted_OBP": 0.3113,
        "predicted_R": 0.3414,
        "predicted_RBI": 0.5028,
        "predicted_SLG": 0.4257,
        "predicted_SO": 0.7254
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2454,
          "delta": -0.0146,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.438,
          "after": 0.4257,
          "delta": -0.0123,
          "percent_delta": -0.0281,
          "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.26,
          "after": 0.2454,
          "delta": -0.0146,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 90
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0781,
        "predicted_3B": 0.0186,
        "predicted_AB": 2.8212,
        "predicted_AVG": 0.2408,
        "predicted_BB": 0.2732,
        "predicted_H": 0.6795,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.1456,
        "predicted_OBP": 0.3079,
        "predicted_R": 0.3338,
        "predicted_RBI": 0.4916,
        "predicted_SLG": 0.4366,
        "predicted_SO": 0.7246
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.4257,
          "after": 0.4366,
          "delta": 0.0109,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4257,
          "after": 0.4366,
          "delta": 0.0109,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.83), rates preserved: AVG=0.243 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0781,
          "after": 0.0,
          "delta": -0.0781,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.8212,
          "after": 3.0,
          "delta": 0.1788,
          "percent_delta": 0.0634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2732,
          "after": 0.0,
          "delta": -0.2732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6795,
          "after": 1.0,
          "delta": 0.3205,
          "percent_delta": 0.4717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.0,
          "delta": -0.057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1456,
          "after": 0.0,
          "delta": -0.1456,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4916,
          "after": 1.0,
          "delta": 0.5084,
          "percent_delta": 1.0342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7246,
          "after": 1.0,
          "delta": 0.2754,
          "percent_delta": 0.3801,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4916,
          "after": 1.0,
          "delta": 0.5084,
          "percent_delta": 1.0342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2732,
          "after": 0.0,
          "delta": -0.2732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.3338,
          "after": 0.0,
          "delta": -0.3338,
          "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.3338,
          "after": 0.0,
          "delta": -0.3338,
          "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.1636,
        "predicted_3B": 0.018,
        "predicted_BB": 0.2787,
        "predicted_H": 0.8823,
        "predicted_HR": 0.154,
        "predicted_RBI": 0.5228,
        "predicted_SO": 0.8798
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1636,
          "delta": 0.1636,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2787,
          "delta": 0.2787,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8823,
          "delta": -0.1177,
          "percent_delta": -0.1177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.154,
          "delta": 0.154,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5228,
          "delta": -0.4772,
          "percent_delta": -0.4772,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8798,
          "delta": -0.1202,
          "percent_delta": -0.1202,
          "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.2787,
          "delta": 0.2787,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5228,
          "delta": -0.4772,
          "percent_delta": -0.4772,
          "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.443,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1636,
          "after": 0.0,
          "delta": -0.1636,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2408,
          "after": 0.253,
          "delta": 0.0122,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2787,
          "after": 0.0,
          "delta": -0.2787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8823,
          "after": 1.0,
          "delta": 0.1177,
          "percent_delta": 0.1334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.154,
          "after": 0.0,
          "delta": -0.154,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3079,
          "after": 0.314,
          "delta": 0.0061,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5228,
          "after": 1.0,
          "delta": 0.4772,
          "percent_delta": 0.9128,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4366,
          "after": 0.443,
          "delta": 0.0064,
          "percent_delta": 0.0147,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8798,
          "after": 1.0,
          "delta": 0.1202,
          "percent_delta": 0.1366,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 6,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5228,
          "after": 1.0,
          "delta": 0.4772,
          "percent_delta": 0.9128,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2787,
          "after": 0.0,
          "delta": -0.2787,
          "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.443,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "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": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 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": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.443,
        "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.089,
        "after": 0.0,
        "delta": -0.089,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.83,
        "after": 4.0,
        "delta": 1.17,
        "percent_delta": 0.4134,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.26,
        "after": 0.253,
        "delta": -0.007,
        "percent_delta": -0.0269,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.267,
        "after": 0.0,
        "delta": -0.267,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 1.0,
        "delta": 0.27,
        "percent_delta": 0.3699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.057,
        "after": 0.0,
        "delta": -0.057,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.322,
        "after": 1.0,
        "delta": 0.678,
        "percent_delta": 2.1056,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 1.0,
        "delta": 0.49,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.438,
        "after": 0.443,
        "delta": 0.005,
        "percent_delta": 0.0114,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.722,
        "after": 0.0,
        "delta": -0.722,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.83,
        "after": 4.0,
        "delta": 1.17,
        "percent_delta": 0.4134,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.722,
        "after": 0.0,
        "delta": -0.722,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.089-
predicted_3B0.022-
predicted_AB2.830-
predicted_AVG0.260-
predicted_BB0.267-
predicted_H0.730-
predicted_HR0.150-
predicted_OBP0.314-
predicted_R0.322-
predicted_RBI0.510-
predicted_SLG0.438-
predicted_SO0.722-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.078-0.011
predicted_3B0.019-0.003
predicted_AB2.821-0.009
predicted_AVG0.245-0.015
predicted_BB0.2730.006
predicted_H0.689-0.041
predicted_HBP0.057-
predicted_HR0.147-0.003
predicted_OBP0.311-0.003
predicted_R0.3410.019
predicted_RBI0.503-0.007
predicted_SLG0.426-0.012
predicted_SO0.7250.003
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0780.000
predicted_3B0.0190.000
predicted_AB2.8210.000
predicted_AVG0.241-0.005
predicted_BB0.2730.000
predicted_H0.679-0.010
predicted_HBP0.0570.000
predicted_HR0.146-0.001
predicted_OBP0.308-0.003
predicted_R0.334-0.008
predicted_RBI0.492-0.011
predicted_SLG0.4370.011
predicted_SO0.725-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.83), rates preserved: AVG=0.243 HR/AB=0.051

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1640.164
3B0.0180.018
BB0.2790.279
H0.882-0.118
HR0.1540.154
RBI0.523-0.477
SO0.880-0.120
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.164
3B0.000-0.018
AB3.0000.000
AVG0.253-
BB0.000-0.279
H1.0000.118
HR0.000-0.154
OBP0.314-
R0.0000.000
RBI1.0000.477
SLG0.443-
SO1.0000.120
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.078
predicted_3B0.000-0.019
predicted_AB3.0000.179
predicted_AVG0.2530.012
predicted_BB0.000-0.273
predicted_H1.0000.321
predicted_HR0.000-0.146
predicted_OBP0.3140.006
predicted_R0.000-0.334
predicted_RBI1.0000.508
predicted_SLG0.4430.006
predicted_SO1.0000.275
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 90
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0003.0000.0000.0001.0003.0002.0001.0003.0000.23080.28570.46150.23080.07690.23080.07690.2308
last_100.2010-28.0004.0000.0000.0001.0004.0004.0004.0008.0000.14290.29410.25000.14290.03570.14290.14290.2857
season0.6090-243.00060.0008.0002.00012.00043.00029.00024.00065.0000.24690.31990.44440.24690.04940.17690.09880.2675
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0630
predicted_3B0.0140
predicted_AB2.8090
predicted_AVG0.2254
predicted_BB0.2810
predicted_H0.6330
predicted_HBP0.0570
predicted_HR0.1420
predicted_OBP0.3076
predicted_R0.3680
predicted_RBI0.4930
predicted_SLG0.4088
predicted_SO0.7300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08900.06300.0781model_form_blend
predicted_3B0.02200.01400.0186model_form_blend
predicted_AB2.83002.80902.8212model_form_blend
predicted_AVG0.26000.22540.2454model_form_blend
predicted_BB0.26700.28100.2729model_form_blend
predicted_H0.73000.63300.6892model_form_blend
predicted_HBP-0.05700.0570form_only
predicted_HR0.15000.14200.1466model_form_blend
predicted_OBP0.31400.30760.3113model_form_blend
predicted_R0.32200.36800.3414model_form_blend
predicted_RBI0.51000.49300.5028model_form_blend
predicted_SLG0.43800.40880.4257model_form_blend
predicted_SO0.72200.73000.7254model_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 date259
Season rows before report date259
Report year2026
Profile rows used90
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20261007_TB@NYY
game_typefull
mlbID668723
playerID668723
playerNameRyan Vilade
posRF
startedTrue
startingPositionRF
teamTB
teamID27
game_date2026-10-07
sl_k_percent23.4
sl_bb_percent9.4
sl_woba0.327
sl_xwoba0.327
sl_xba0.252
sl_xslg0.421
sl_sweet_spot_percent29.9
sl_barrel_batted_rate7.1
sl_hard_hit_percent39.9
sl_exit_velocity_avg89.2
sl_launch_angle_avg17.0
sl_whiff_percent23.6
sl_swing_percent48.7
Jonny DeLuca (676356) · BATTER · CF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 351
All-history rows before 20261013: 351
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2785
Diff (system - data): -0.0115
System opponent_avg: 0.2730

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2361.0001.000Hitting_2B0.2680.0000.7321.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3584.0004.000Hitting_AB3.6723.0000.3281.000
predicted_AVG0.2670.5000.500Hitting_AVG0.2790.3330.2210.167
predicted_BB0.1600.0000.000Hitting_BB0.1770.000-0.1770.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H0.8962.0002.000Hitting_H1.0231.0000.9771.000
predicted_HR0.1040.0000.000Hitting_HR0.1080.000-0.1080.000
predicted_OBP0.3000.5000.500Hitting_OBP0.3120.3330.1880.167
predicted_R0.4251.0001.000Hitting_R0.4841.0000.5160.000
predicted_RBI0.4721.0001.000Hitting_RBI0.5580.0000.4421.000
predicted_SLG0.4300.7500.750Hitting_SLG0.4400.3330.3100.417
predicted_SO0.7450.0000.000Hitting_SO0.7580.000-0.7580.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics8
Worse Metrics2
Biggest Boostpredicted_H: 0.8960 -> 2.0000 (boost 1.1040, better)
Biggest Deboostpredicted_SO: 0.7450 -> 0.0000 (deboost -0.7450, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_AB: 3.3580 -> 3.4107 (boost 0.0527, 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_scaling73425predicted_AB: 3.4107 -> 4.0000 (boost 0.5893, better)predicted_RBI: 0.4511 -> 0.0000 (deboost -0.4511, worse)AB rounded to 4 (raw=3.41), rates preserved: AVG=0.270 HR/AB=0.039
6consistency_constraints10101-predicted_R: 0.4666 -> 0.0000 (deboost -0.4666, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.5067 (boost 0.5067, better)predicted_SO: 1.0000 -> 0.8405 (deboost -0.1595, 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_allocation84435predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.5067 -> 0.0000 (deboost -0.5067, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization32130predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "676356",
  "player_name": "Jonny DeLuca",
  "position": "CF",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.236,
        "predicted_3B": 0.0,
        "predicted_AB": 3.358,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.16,
        "predicted_H": 0.896,
        "predicted_HR": 0.104,
        "predicted_OBP": 0.3,
        "predicted_R": 0.425,
        "predicted_RBI": 0.472,
        "predicted_SLG": 0.43,
        "predicted_SO": 0.745
      },
      "changed_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.2364,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4107,
        "predicted_AVG": 0.2703,
        "predicted_BB": 0.1771,
        "predicted_H": 0.9217,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1348,
        "predicted_OBP": 0.3062,
        "predicted_R": 0.4772,
        "predicted_RBI": 0.4613,
        "predicted_SLG": 0.4579,
        "predicted_SO": 0.7343
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.358,
          "after": 3.4107,
          "delta": 0.0527,
          "percent_delta": 0.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3062,
          "delta": 0.0062,
          "percent_delta": 0.0207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.425,
          "after": 0.4772,
          "delta": 0.0522,
          "percent_delta": 0.1228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4579,
          "delta": 0.0279,
          "percent_delta": 0.0649,
          "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_AB",
          "before": 3.358,
          "after": 3.4107,
          "delta": 0.0527,
          "percent_delta": 0.0157,
          "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": 106
      }
    },
    {
      "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.2364,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4107,
        "predicted_AVG": 0.2664,
        "predicted_BB": 0.1773,
        "predicted_H": 0.9087,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1339,
        "predicted_OBP": 0.3027,
        "predicted_R": 0.4666,
        "predicted_RBI": 0.4511,
        "predicted_SLG": 0.4538,
        "predicted_SO": 0.7335
      },
      "changed_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.41), rates preserved: AVG=0.270 HR/AB=0.039",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2364,
          "after": 0.0,
          "delta": -0.2364,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4107,
          "after": 4.0,
          "delta": 0.5893,
          "percent_delta": 0.1728,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1773,
          "after": 0.0,
          "delta": -0.1773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9087,
          "after": 1.0,
          "delta": 0.0913,
          "percent_delta": 0.1005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1339,
          "after": 0.0,
          "delta": -0.1339,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4511,
          "after": 0.0,
          "delta": -0.4511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7335,
          "after": 1.0,
          "delta": 0.2665,
          "percent_delta": 0.3633,
          "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.4107,
          "after": 4.0,
          "delta": 0.5893,
          "percent_delta": 0.1728,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4511,
          "after": 0.0,
          "delta": -0.4511,
          "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.4666,
          "after": 0.0,
          "delta": -0.4666,
          "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.4666,
          "after": 0.0,
          "delta": -0.4666,
          "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.2155,
        "predicted_3B": 0.0111,
        "predicted_BB": 0.1878,
        "predicted_H": 0.9924,
        "predicted_HR": 0.1301,
        "predicted_RBI": 0.5067,
        "predicted_SO": 0.8405
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2155,
          "delta": 0.2155,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1878,
          "delta": 0.1878,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1301,
          "delta": 0.1301,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5067,
          "delta": 0.5067,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8405,
          "delta": -0.1595,
          "percent_delta": -0.1595,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5067,
          "delta": 0.5067,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8405,
          "delta": -0.1595,
          "percent_delta": -0.1595,
          "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.269,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.439,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2155,
          "after": 1.0,
          "delta": 0.7845,
          "percent_delta": 3.6404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1878,
          "after": 0.0,
          "delta": -0.1878,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1301,
          "after": 0.0,
          "delta": -0.1301,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3027,
          "after": 0.31,
          "delta": 0.0073,
          "percent_delta": 0.0241,
          "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.5067,
          "after": 0.0,
          "delta": -0.5067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4538,
          "after": 0.439,
          "delta": -0.0148,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8405,
          "after": 1.0,
          "delta": 0.1595,
          "percent_delta": 0.1898,
          "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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5067,
          "after": 0.0,
          "delta": -0.5067,
          "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.269,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.439,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.439,
        "predicted_SO": 0.0,
        "predicted_TB": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.236,
        "after": 1.0,
        "delta": 0.764,
        "percent_delta": 3.2373,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.358,
        "after": 4.0,
        "delta": 0.642,
        "percent_delta": 0.1912,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.896,
        "after": 2.0,
        "delta": 1.104,
        "percent_delta": 1.2321,
        "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.3,
        "after": 0.31,
        "delta": 0.01,
        "percent_delta": 0.0333,
        "direction": "boost",
        "projection_effect": "better",
        "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.472,
        "after": 1.0,
        "delta": 0.528,
        "percent_delta": 1.1186,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.43,
        "after": 0.439,
        "delta": 0.009,
        "percent_delta": 0.0209,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.745,
        "after": 0.0,
        "delta": -0.745,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 7,
      "deboosted_metrics": 3,
      "better_metrics": 8,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.896,
        "after": 2.0,
        "delta": 1.104,
        "percent_delta": 1.2321,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.745,
        "after": 0.0,
        "delta": -0.745,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.236-
predicted_3B0.000-
predicted_AB3.358-
predicted_AVG0.267-
predicted_BB0.160-
predicted_H0.896-
predicted_HR0.104-
predicted_OBP0.300-
predicted_R0.425-
predicted_RBI0.472-
predicted_SLG0.430-
predicted_SO0.745-
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.2360.000
predicted_3B0.0000.000
predicted_AB3.4110.053
predicted_AVG0.2700.003
predicted_BB0.1770.017
predicted_H0.9220.026
predicted_HBP0.002-
predicted_HR0.1350.031
predicted_OBP0.3060.006
predicted_R0.4770.052
predicted_RBI0.461-0.011
predicted_SLG0.4580.028
predicted_SO0.734-0.011
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2360.000
predicted_3B0.0000.000
predicted_AB3.4110.000
predicted_AVG0.266-0.004
predicted_BB0.1770.000
predicted_H0.909-0.013
predicted_HBP0.0020.000
predicted_HR0.134-0.001
predicted_OBP0.303-0.004
predicted_R0.467-0.011
predicted_RBI0.451-0.010
predicted_SLG0.454-0.004
predicted_SO0.734-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.41), rates preserved: AVG=0.270 HR/AB=0.039

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.2150.215
3B0.0110.011
BB0.1880.188
H0.992-0.008
HR0.1300.130
RBI0.5070.507
SO0.841-0.159
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.784
3B0.000-0.011
AB4.0000.000
AVG0.269-
BB0.000-0.188
H1.0000.008
HR0.000-0.130
OBP0.310-
R1.0001.000
RBI0.000-0.507
SLG0.439-
SO1.0000.159
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.764
predicted_3B0.000-0.000
predicted_AB4.0000.589
predicted_AVG0.2690.003
predicted_BB0.000-0.177
predicted_H1.0000.091
predicted_HR0.000-0.134
predicted_OBP0.3100.007
predicted_R1.0000.533
predicted_RBI0.000-0.451
predicted_SLG0.439-0.015
predicted_SO1.0000.266
10. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B1.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
RBI1.0001.000
SF0.0000.000
SO0.000-1.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.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
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: 106
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0002.0002.0005.0001.0002.0000.27780.31580.66670.27780.11110.11110.05560.1111
last_100.2010-36.00011.0003.0000.0002.0004.0005.0003.0009.0000.30560.35900.55560.30560.05560.11110.08330.2500
season0.60106-356.00095.00025.0000.00011.00050.00045.00017.00079.0000.26690.30030.42980.26680.03090.14040.04780.2219
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2370
predicted_3B0.0010
predicted_AB3.4810
predicted_AVG0.2747
predicted_BB0.2000
predicted_H0.9560
predicted_HBP0.0020
predicted_HR0.1760
predicted_OBP0.3144
predicted_R0.5470
predicted_RBI0.4470
predicted_SLG0.4952
predicted_SO0.7200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23600.23700.2364model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.35803.48103.4107model_form_blend
predicted_AVG0.26700.27470.2703model_form_blend
predicted_BB0.16000.20000.1771model_form_blend
predicted_H0.89600.95600.9217model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.10400.17600.1348model_form_blend
predicted_OBP0.30000.31440.3062model_form_blend
predicted_R0.42500.54700.4772model_form_blend
predicted_RBI0.47200.44700.4613model_form_blend
predicted_SLG0.43000.49520.4579model_form_blend
predicted_SO0.74500.72000.7343model_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 date351
Season rows before report date351
Report year2026
Profile rows used106
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF-RF
gameID20261007_TB@NYY
game_typefull
mlbID676356
playerID676356
playerNameJonny DeLuca
posRF
startedTrue
startingPositionCF
teamTB
teamID27
game_date2026-10-07
sl_k_percent21.1
sl_bb_percent4.6
sl_woba0.317
sl_xwoba0.261
sl_xba0.232
sl_xslg0.325
sl_sweet_spot_percent28.7
sl_barrel_batted_rate3.6
sl_hard_hit_percent30.2
sl_exit_velocity_avg85.8
sl_launch_angle_avg13.9
sl_whiff_percent24.9
sl_swing_percent52.9
Chandler Simpson (802415) · BATTER · LF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 595
All-history rows before 20261013: 595
System season_avg: 0.3040
Data season_avg (2026 season-to-date): 0.3063
Diff (system - data): -0.0023
System opponent_avg: 0.3910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1070.0000.000Hitting_2B0.1140.000-0.1140.000
predicted_3B0.0400.0000.000Hitting_3B0.0350.000-0.0350.000
predicted_AB4.5104.0004.000Hitting_AB3.9784.0000.0220.000
predicted_AVG0.2530.7500.750Hitting_AVG0.3060.2500.4440.500
predicted_BB0.1680.0000.000Hitting_BB0.1920.000-0.1920.000
predicted_CS-0.0000.000BaseRunning_CS0.1030.000-0.1030.000
predicted_H1.1403.0003.000Hitting_H1.2181.0001.7822.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2900.7500.750Hitting_OBP0.3350.2500.4150.500
predicted_R0.4430.0000.000Hitting_R0.4541.000-0.454-1.000
predicted_RBI0.3400.0000.000Hitting_RBI0.2641.000-0.264-1.000
predicted_SLG0.3070.7500.750Hitting_SLG0.3530.2500.3970.500
predicted_SO0.3290.0000.000Hitting_SO0.3430.000-0.3430.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 1.1400 -> 3.0000 (boost 1.8600, better)
Biggest Deboostpredicted_AB: 4.5100 -> 4.0000 (deboost -0.5100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.5100 -> 4.2548 (deboost -0.2552, 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.3005 -> 0.2897 (deboost -0.0108, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60615-predicted_SO: 0.3596 -> 0.0000 (deboost -0.3596, better)AB rounded to 4 (raw=4.51), rates preserved: AVG=0.240 HR/AB=0.001
6consistency_constraints10101-predicted_R: 0.4276 -> 0.0000 (deboost -0.4276, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55041predicted_SO: 0.0000 -> 0.3919 (boost 0.3919, worse)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation83544predicted_SLG: 0.2897 -> 0.3870 (boost 0.0973, better)predicted_SO: 0.3919 -> 0.0000 (deboost -0.3919, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization11010predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "802415",
  "player_name": "Chandler Simpson",
  "position": "LF",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.107,
        "predicted_3B": 0.04,
        "predicted_AB": 4.51,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.168,
        "predicted_H": 1.14,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.443,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.307,
        "predicted_SO": 0.329
      },
      "changed_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.0913,
        "predicted_3B": 0.033,
        "predicted_AB": 4.2548,
        "predicted_AVG": 0.2547,
        "predicted_BB": 0.1427,
        "predicted_H": 1.0828,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0026,
        "predicted_OBP": 0.2831,
        "predicted_R": 0.4373,
        "predicted_RBI": 0.3247,
        "predicted_SLG": 0.3005,
        "predicted_SO": 0.36
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2548,
          "delta": -0.2552,
          "percent_delta": -0.0566,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.14,
          "after": 1.0828,
          "delta": -0.0572,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2831,
          "delta": -0.0069,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.307,
          "after": 0.3005,
          "delta": -0.0065,
          "percent_delta": -0.0212,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2548,
          "delta": -0.2552,
          "percent_delta": -0.0566,
          "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.0913,
        "predicted_3B": 0.033,
        "predicted_AB": 4.2548,
        "predicted_AVG": 0.2509,
        "predicted_BB": 0.1429,
        "predicted_H": 1.0675,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0026,
        "predicted_OBP": 0.2752,
        "predicted_R": 0.4276,
        "predicted_RBI": 0.3175,
        "predicted_SLG": 0.2897,
        "predicted_SO": 0.3596
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2831,
          "after": 0.2752,
          "delta": -0.0079,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3005,
          "after": 0.2897,
          "delta": -0.0108,
          "percent_delta": -0.0359,
          "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.3005,
          "after": 0.2897,
          "delta": -0.0108,
          "percent_delta": -0.0359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.51), rates preserved: AVG=0.240 HR/AB=0.001",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0913,
          "after": 0.0,
          "delta": -0.0913,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.2548,
          "after": 4.0,
          "delta": -0.2548,
          "percent_delta": -0.0599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1429,
          "after": 0.0,
          "delta": -0.1429,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0675,
          "after": 1.0,
          "delta": -0.0675,
          "percent_delta": -0.0632,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3175,
          "after": 0.0,
          "delta": -0.3175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3596,
          "after": 0.0,
          "delta": -0.3596,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3596,
          "after": 0.0,
          "delta": -0.3596,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.4276,
          "after": 0.0,
          "delta": -0.4276,
          "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.4276,
          "after": 0.0,
          "delta": -0.4276,
          "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.1457,
        "predicted_3B": 0.0287,
        "predicted_BB": 0.1414,
        "predicted_H": 1.1323,
        "predicted_HR": 0.0386,
        "predicted_RBI": 0.3356,
        "predicted_SO": 0.3919
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1457,
          "delta": 0.1457,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1414,
          "delta": 0.1414,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1323,
          "delta": 0.1323,
          "percent_delta": 0.1323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3356,
          "delta": 0.3356,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.3919,
          "delta": 0.3919,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.3919,
          "delta": 0.3919,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.302,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1457,
          "after": 0.0,
          "delta": -0.1457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2509,
          "after": 0.302,
          "delta": 0.0511,
          "percent_delta": 0.2037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1414,
          "after": 0.0,
          "delta": -0.1414,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1323,
          "after": 1.0,
          "delta": -0.1323,
          "percent_delta": -0.1168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2752,
          "after": 0.333,
          "delta": 0.0578,
          "percent_delta": 0.21,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3356,
          "after": 0.0,
          "delta": -0.3356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2897,
          "after": 0.387,
          "delta": 0.0973,
          "percent_delta": 0.3359,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3919,
          "after": 0.0,
          "delta": -0.3919,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2897,
          "after": 0.387,
          "delta": 0.0973,
          "percent_delta": 0.3359,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3919,
          "after": 0.0,
          "delta": -0.3919,
          "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.302,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.302,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 0.0,
        "predicted_TB": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.107,
        "after": 0.0,
        "delta": -0.107,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 4.0,
        "delta": -0.51,
        "percent_delta": -0.1131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.302,
        "delta": 0.049,
        "percent_delta": 0.1937,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.168,
        "after": 0.0,
        "delta": -0.168,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 3.0,
        "delta": 1.86,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.29,
        "after": 0.333,
        "delta": 0.043,
        "percent_delta": 0.1483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.443,
        "after": 0.0,
        "delta": -0.443,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.34,
        "after": 0.0,
        "delta": -0.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.307,
        "after": 0.387,
        "delta": 0.08,
        "percent_delta": 0.2606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.329,
        "after": 0.0,
        "delta": -0.329,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 3.0,
        "delta": 1.86,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 4.0,
        "delta": -0.51,
        "percent_delta": -0.1131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.107-
predicted_3B0.040-
predicted_AB4.510-
predicted_AVG0.253-
predicted_BB0.168-
predicted_H1.140-
predicted_HR0.000-
predicted_OBP0.290-
predicted_R0.443-
predicted_RBI0.340-
predicted_SLG0.307-
predicted_SO0.329-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.091-0.016
predicted_3B0.033-0.007
predicted_AB4.255-0.255
predicted_AVG0.2550.002
predicted_BB0.143-0.025
predicted_H1.083-0.057
predicted_HBP0.002-
predicted_HR0.0030.003
predicted_OBP0.283-0.007
predicted_R0.437-0.006
predicted_RBI0.325-0.015
predicted_SLG0.300-0.007
predicted_SO0.3600.031
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0910.000
predicted_3B0.0330.000
predicted_AB4.2550.000
predicted_AVG0.251-0.004
predicted_BB0.1430.000
predicted_H1.067-0.015
predicted_HBP0.0020.000
predicted_HR0.0030.000
predicted_OBP0.275-0.008
predicted_R0.428-0.010
predicted_RBI0.318-0.007
predicted_SLG0.290-0.011
predicted_SO0.360-0.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1460.146
3B0.0290.029
BB0.1410.141
H1.1320.132
HR0.0390.039
RBI0.3360.336
SO0.3920.392
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.029
AB4.0000.000
AVG0.302-
BB0.000-0.141
H1.000-0.132
HR0.000-0.039
OBP0.333-
R0.0000.000
RBI0.000-0.336
SLG0.387-
SO0.000-0.392
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.091
predicted_3B0.000-0.033
predicted_AB4.000-0.255
predicted_AVG0.3020.051
predicted_BB0.000-0.143
predicted_H1.000-0.067
predicted_HR0.000-0.003
predicted_OBP0.3330.058
predicted_R0.000-0.428
predicted_RBI0.000-0.318
predicted_SLG0.3870.097
predicted_SO0.000-0.360
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H3.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 149
Reference playing time: 4.510
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0003.0000.0000.0000.0001.0002.0000.0003.0000.15000.15000.15000.15000.00000.05000.00000.1500
last_100.2010-40.0009.0000.0000.0000.0005.0004.0000.0003.0000.22500.22500.22500.22500.00000.12500.00000.0750
season0.60149-579.000176.00016.0006.0000.00039.00066.00025.00049.0000.30400.32950.35230.30400.00000.06740.04320.0846
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0710
predicted_3B0.0240
predicted_AB3.9250
predicted_AVG0.2570
predicted_BB0.1100
predicted_H1.0090
predicted_HBP0.0020
predicted_HR0.0060
predicted_OBP0.2742
predicted_R0.4300
predicted_RBI0.3050
predicted_SLG0.2920
predicted_SO0.4000
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10700.07100.0913model_form_blend
predicted_3B0.04000.02400.0330model_form_blend
predicted_AB4.51003.92504.2548model_form_blend
predicted_AVG0.25300.25700.2547model_form_blend
predicted_BB0.16800.11000.1427model_form_blend
predicted_H1.14001.00901.0828model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.00000.00600.0026model_form_blend
predicted_OBP0.29000.27420.2831model_form_blend
predicted_R0.44300.43000.4373model_form_blend
predicted_RBI0.34000.30500.3247model_form_blend
predicted_SLG0.30700.29200.3005model_form_blend
predicted_SO0.32900.40000.3600model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261005_NYY@TB
game_typefull
mlbID802415
playerID802415
playerNameChandler Simpson
posLF
startedTrue
startingPositionLF
teamTB
teamID27
game_date2026-10-05
sl_k_percent7.8
sl_bb_percent4.2
sl_woba0.305
sl_xwoba0.263
sl_xba0.261
sl_xslg0.297
sl_sweet_spot_percent25.7
sl_barrel_batted_rate0.0
sl_hard_hit_percent13.6
sl_exit_velocity_avg83.7
sl_launch_angle_avg1.2
sl_whiff_percent10.8
sl_swing_percent48.5
Nick Fortes (663743) · BATTER · C · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 322
All-history rows before 20261013: 322
System season_avg: 0.2600
Data season_avg (2026 season-to-date): 0.2655
Diff (system - data): -0.0055
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.1700.0000.000Hitting_2B0.1800.000-0.1800.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9904.0004.000Hitting_AB3.1124.0000.8880.000
predicted_AVG0.2240.2500.250Hitting_AVG0.2650.000-0.0150.250
predicted_BB0.1200.0000.000Hitting_BB0.1370.000-0.1370.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6701.0001.000Hitting_H0.8260.0000.1741.000
predicted_HR0.0900.0000.000Hitting_HR0.0650.000-0.0650.000
predicted_OBP0.2660.2500.250Hitting_OBP0.3130.000-0.0630.250
predicted_R0.3300.0000.000Hitting_R0.3820.000-0.3820.000
predicted_RBI0.3501.0001.000Hitting_RBI0.3980.0000.6021.000
predicted_SLG0.3660.2500.250Hitting_SLG0.3860.000-0.1360.250
predicted_SO0.4501.0001.000Hitting_SO0.4412.0000.559-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_AB: 2.9900 -> 4.0000 (boost 1.0100, better)
Biggest Deboostpredicted_R: 0.3300 -> 0.0000 (deboost -0.3300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22011predicted_SO: 0.4500 -> 0.5528 (boost 0.1028, 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.2655 -> 0.2525 (deboost -0.0130, 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.5522 -> 1.0000 (boost 0.4478, worse)predicted_RBI: 0.3418 -> 0.0000 (deboost -0.3418, worse)AB rounded to 3 (raw=3.01), rates preserved: AVG=0.222 HR/AB=0.034
6consistency_constraints10101-predicted_R: 0.3177 -> 0.0000 (deboost -0.3177, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3803 (boost 0.3803, better)predicted_SO: 1.0000 -> 0.5148 (deboost -0.4852, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation94554predicted_H: 0.8220 -> 1.0000 (boost 0.1780, better)predicted_SO: 0.5148 -> 0.0000 (deboost -0.5148, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization33021predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "663743",
  "player_name": "Nick Fortes",
  "position": "C",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.17,
        "predicted_3B": 0.0,
        "predicted_AB": 2.99,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.12,
        "predicted_H": 0.67,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.266,
        "predicted_R": 0.33,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.366,
        "predicted_SO": 0.45
      },
      "changed_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.1619,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0146,
        "predicted_AVG": 0.2226,
        "predicted_BB": 0.1327,
        "predicted_H": 0.6713,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1023,
        "predicted_OBP": 0.2655,
        "predicted_R": 0.3249,
        "predicted_RBI": 0.3496,
        "predicted_SLG": 0.3752,
        "predicted_SO": 0.5528
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.3752,
          "delta": 0.0092,
          "percent_delta": 0.0251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.45,
          "after": 0.5528,
          "delta": 0.1028,
          "percent_delta": 0.2284,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.45,
          "after": 0.5528,
          "delta": 0.1028,
          "percent_delta": 0.2284,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 100
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1619,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0146,
        "predicted_AVG": 0.2195,
        "predicted_BB": 0.1328,
        "predicted_H": 0.6618,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1016,
        "predicted_OBP": 0.2525,
        "predicted_R": 0.3177,
        "predicted_RBI": 0.3418,
        "predicted_SLG": 0.3747,
        "predicted_SO": 0.5522
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2655,
          "after": 0.2525,
          "delta": -0.013,
          "percent_delta": -0.049,
          "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.2655,
          "after": 0.2525,
          "delta": -0.013,
          "percent_delta": -0.049,
          "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.01), rates preserved: AVG=0.222 HR/AB=0.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1619,
          "after": 0.0,
          "delta": -0.1619,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1328,
          "after": 0.0,
          "delta": -0.1328,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6618,
          "after": 1.0,
          "delta": 0.3382,
          "percent_delta": 0.511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1016,
          "after": 0.0,
          "delta": -0.1016,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3418,
          "after": 0.0,
          "delta": -0.3418,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5522,
          "after": 1.0,
          "delta": 0.4478,
          "percent_delta": 0.8109,
          "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.5522,
          "after": 1.0,
          "delta": 0.4478,
          "percent_delta": 0.8109,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3418,
          "after": 0.0,
          "delta": -0.3418,
          "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.3177,
          "after": 0.0,
          "delta": -0.3177,
          "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.3177,
          "after": 0.0,
          "delta": -0.3177,
          "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.1677,
        "predicted_3B": 0.0098,
        "predicted_BB": 0.1474,
        "predicted_H": 0.822,
        "predicted_HR": 0.089,
        "predicted_RBI": 0.3803,
        "predicted_SO": 0.5148
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1677,
          "delta": 0.1677,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1474,
          "delta": 0.1474,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.822,
          "delta": -0.178,
          "percent_delta": -0.178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.089,
          "delta": 0.089,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3803,
          "delta": 0.3803,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5148,
          "delta": -0.4852,
          "percent_delta": -0.4852,
          "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.3803,
          "delta": 0.3803,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5148,
          "delta": -0.4852,
          "percent_delta": -0.4852,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1677,
          "after": 0.0,
          "delta": -0.1677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2195,
          "after": 0.263,
          "delta": 0.0435,
          "percent_delta": 0.1982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1474,
          "after": 0.0,
          "delta": -0.1474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.822,
          "after": 1.0,
          "delta": 0.178,
          "percent_delta": 0.2165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.089,
          "after": 0.0,
          "delta": -0.089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2525,
          "after": 0.302,
          "delta": 0.0495,
          "percent_delta": 0.196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3803,
          "after": 0.0,
          "delta": -0.3803,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3747,
          "after": 0.408,
          "delta": 0.0333,
          "percent_delta": 0.0889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5148,
          "after": 0.0,
          "delta": -0.5148,
          "percent_delta": -1.0,
          "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.822,
          "after": 1.0,
          "delta": 0.178,
          "percent_delta": 0.2165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5148,
          "after": 0.0,
          "delta": -0.5148,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.99,
        "after": 4.0,
        "delta": 1.01,
        "percent_delta": 0.3378,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.224,
        "after": 0.263,
        "delta": 0.039,
        "percent_delta": 0.1741,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.67,
        "after": 1.0,
        "delta": 0.33,
        "percent_delta": 0.4925,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.266,
        "after": 0.302,
        "delta": 0.036,
        "percent_delta": 0.1353,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.33,
        "after": 0.0,
        "delta": -0.33,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 1.0,
        "delta": 0.65,
        "percent_delta": 1.8571,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.366,
        "after": 0.408,
        "delta": 0.042,
        "percent_delta": 0.1148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.45,
        "after": 1.0,
        "delta": 0.55,
        "percent_delta": 1.2222,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.99,
        "after": 4.0,
        "delta": 1.01,
        "percent_delta": 0.3378,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.33,
        "after": 0.0,
        "delta": -0.33,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.170-
predicted_3B0.000-
predicted_AB2.990-
predicted_AVG0.224-
predicted_BB0.120-
predicted_H0.670-
predicted_HR0.090-
predicted_OBP0.266-
predicted_R0.330-
predicted_RBI0.350-
predicted_SLG0.366-
predicted_SO0.450-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.162-0.008
predicted_3B0.0000.000
predicted_AB3.0150.025
predicted_AVG0.223-0.001
predicted_BB0.1330.013
predicted_H0.6710.001
predicted_HBP0.042-
predicted_HR0.1020.012
predicted_OBP0.266-0.001
predicted_R0.325-0.005
predicted_RBI0.350-0.000
predicted_SLG0.3750.009
predicted_SO0.5530.103
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1620.000
predicted_3B0.0000.000
predicted_AB3.0150.000
predicted_AVG0.220-0.003
predicted_BB0.1330.000
predicted_H0.662-0.009
predicted_HBP0.0420.000
predicted_HR0.102-0.001
predicted_OBP0.253-0.013
predicted_R0.318-0.007
predicted_RBI0.342-0.008
predicted_SLG0.375-0.001
predicted_SO0.552-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.01), rates preserved: AVG=0.222 HR/AB=0.034

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.1680.168
3B0.0100.010
BB0.1470.147
H0.822-0.178
HR0.0890.089
RBI0.3800.380
SO0.515-0.485
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.168
3B0.000-0.010
AB3.0000.000
AVG0.263-
BB0.000-0.147
H1.0000.178
HR0.000-0.089
OBP0.302-
R0.0000.000
RBI0.000-0.380
SLG0.408-
SO0.000-0.515
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.162
predicted_3B0.000-0.000
predicted_AB3.000-0.015
predicted_AVG0.2630.044
predicted_BB0.000-0.133
predicted_H1.0000.338
predicted_HR0.000-0.102
predicted_OBP0.3020.049
predicted_R0.000-0.318
predicted_RBI0.000-0.342
predicted_SLG0.4080.033
predicted_SO0.000-0.552
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 100
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0001.0001.0001.0000.0007.0000.11760.11760.29410.11770.05880.05880.00000.4118
last_100.2010-26.0005.0002.0000.0002.0004.0003.0003.0007.0000.19230.27590.50000.19230.07690.15380.11540.2692
season0.60100-296.00077.00017.0000.0006.00035.00033.00012.00045.0000.26010.30380.37840.26010.02030.11820.04050.1520
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1510
predicted_3B0.0010
predicted_AB3.0480
predicted_AVG0.2206
predicted_BB0.1500
predicted_H0.6730
predicted_HBP0.0420
predicted_HR0.1190
predicted_OBP0.2648
predicted_R0.3180
predicted_RBI0.3490
predicted_SLG0.3877
predicted_SO0.6920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.15100.1619model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.99003.04803.0146model_form_blend
predicted_AVG0.22400.22060.2226model_form_blend
predicted_BB0.12000.15000.1327model_form_blend
predicted_H0.67000.67300.6713model_form_blend
predicted_HBP-0.04200.0420form_only
predicted_HR0.09000.11900.1023model_form_blend
predicted_OBP0.26600.26480.2655model_form_blend
predicted_R0.33000.31800.3249model_form_blend
predicted_RBI0.35000.34900.3496model_form_blend
predicted_SLG0.36600.38770.3752model_form_blend
predicted_SO0.45000.69200.5528model_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 date322
Season rows before report date322
Report year2026
Profile rows used100
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260927_TB@PHI
game_typefull
mlbID663743
playerID663743
playerNameNick Fortes
posC
startedTrue
startingPositionC
teamTB
teamID27
game_date2026-09-27
sl_k_percent13.9
sl_bb_percent3.7
sl_woba0.301
sl_xwoba0.273
sl_xba0.239
sl_xslg0.326
sl_sweet_spot_percent25.2
sl_barrel_batted_rate2.4
sl_hard_hit_percent35.4
sl_exit_velocity_avg85.4
sl_launch_angle_avg8.3
sl_whiff_percent18.3
sl_swing_percent51.8
Jorge Mateo (622761) · BATTER · 2B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 79
All-history rows before 20261013: 79
System season_avg: 0.2030
Data season_avg (2026 season-to-date): 0.1453
Diff (system - data): 0.0577
System opponent_avg: 0.6670
System season_avg diverges from 2026 season-to-date by 0.0577. 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.1030.0000.000Hitting_2B0.0630.000-0.0630.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6543.0003.000Hitting_AB2.9620.0000.0383.000
predicted_AVG0.2030.0000.000Hitting_AVG0.145--0.145-
predicted_BB0.1280.0000.000Hitting_BB0.1650.000-0.1650.000
predicted_CS-0.0000.000BaseRunning_CS0.1520.000-0.1520.000
predicted_H0.5380.0000.000Hitting_H0.4300.000-0.4300.000
predicted_HR0.0640.0000.000Hitting_HR0.0250.000-0.0250.000
predicted_OBP0.2400.0000.000Hitting_OBP0.197--0.197-
predicted_R0.4620.0000.000Hitting_R0.3540.000-0.3540.000
predicted_RBI0.2311.0001.000Hitting_RBI0.3160.0000.6841.000
predicted_SB-0.0000.000BaseRunning_SB0.3670.000-0.3670.000
predicted_SLG0.3140.0000.000Hitting_SLG0.192--0.192-
predicted_SO0.8851.0001.000Hitting_SO0.9370.0000.0631.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics7
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher)
Biggest Deboostpredicted_H: 0.5380 -> 0.0000 (deboost -0.5380, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 2.6540 -> 2.7179 (boost 0.0639, better)predicted_SLG: 0.3140 -> 0.3025 (deboost -0.0115, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.5276 -> 1.0000 (boost 0.4724, better)predicted_RBI: 0.2019 -> 0.0000 (deboost -0.2019, worse)AB rounded to 3 (raw=2.72), rates preserved: AVG=0.197 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.4164 -> 0.0000 (deboost -0.4164, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3407 (boost 0.3407, better)predicted_H: 1.0000 -> 0.7811 (deboost -0.2189, 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_allocation84444predicted_H: 0.7811 -> 1.0000 (boost 0.2189, better)predicted_RBI: 0.3407 -> 0.0000 (deboost -0.3407, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization32111predicted_RBI: 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
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "622761",
  "player_name": "Jorge Mateo",
  "position": "2B",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.103,
        "predicted_3B": 0.0,
        "predicted_AB": 2.654,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.128,
        "predicted_H": 0.538,
        "predicted_HR": 0.064,
        "predicted_OBP": 0.24,
        "predicted_R": 0.462,
        "predicted_RBI": 0.231,
        "predicted_SLG": 0.314,
        "predicted_SO": 0.885
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.113,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7179,
        "predicted_AVG": 0.1972,
        "predicted_BB": 0.1143,
        "predicted_H": 0.5351,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0574,
        "predicted_OBP": 0.2303,
        "predicted_R": 0.4259,
        "predicted_RBI": 0.2065,
        "predicted_SLG": 0.3025,
        "predicted_SO": 0.9298
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.654,
          "after": 2.7179,
          "delta": 0.0639,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.1972,
          "delta": -0.0058,
          "percent_delta": -0.0286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.24,
          "after": 0.2303,
          "delta": -0.0097,
          "percent_delta": -0.0404,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.314,
          "after": 0.3025,
          "delta": -0.0115,
          "percent_delta": -0.0366,
          "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": 2.654,
          "after": 2.7179,
          "delta": 0.0639,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.314,
          "after": 0.3025,
          "delta": -0.0115,
          "percent_delta": -0.0366,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 78
      }
    },
    {
      "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.113,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7179,
        "predicted_AVG": 0.1941,
        "predicted_BB": 0.1144,
        "predicted_H": 0.5276,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.057,
        "predicted_OBP": 0.2267,
        "predicted_R": 0.4164,
        "predicted_RBI": 0.2019,
        "predicted_SLG": 0.2989,
        "predicted_SO": 0.9288
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.72), rates preserved: AVG=0.197 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.113,
          "after": 0.0,
          "delta": -0.113,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.7179,
          "after": 3.0,
          "delta": 0.2821,
          "percent_delta": 0.1038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1144,
          "after": 0.0,
          "delta": -0.1144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5276,
          "after": 1.0,
          "delta": 0.4724,
          "percent_delta": 0.8954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.057,
          "after": 0.0,
          "delta": -0.057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2019,
          "after": 0.0,
          "delta": -0.2019,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9288,
          "after": 1.0,
          "delta": 0.0712,
          "percent_delta": 0.0767,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5276,
          "after": 1.0,
          "delta": 0.4724,
          "percent_delta": 0.8954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2019,
          "after": 0.0,
          "delta": -0.2019,
          "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.4164,
          "after": 0.0,
          "delta": -0.4164,
          "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.4164,
          "after": 0.0,
          "delta": -0.4164,
          "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.1568,
        "predicted_3B": 0.0109,
        "predicted_BB": 0.1767,
        "predicted_H": 0.7811,
        "predicted_HR": 0.1018,
        "predicted_RBI": 0.3407,
        "predicted_SO": 1.0165
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1568,
          "delta": 0.1568,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1767,
          "delta": 0.1767,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7811,
          "delta": -0.2189,
          "percent_delta": -0.2189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1018,
          "delta": 0.1018,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3407,
          "delta": 0.3407,
          "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.3407,
          "delta": 0.3407,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7811,
          "delta": -0.2189,
          "percent_delta": -0.2189,
          "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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.395,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1568,
          "after": 0.0,
          "delta": -0.1568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1941,
          "after": 0.244,
          "delta": 0.0499,
          "percent_delta": 0.2571,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1767,
          "after": 0.0,
          "delta": -0.1767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7811,
          "after": 1.0,
          "delta": 0.2189,
          "percent_delta": 0.2802,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1018,
          "after": 0.0,
          "delta": -0.1018,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2267,
          "after": 0.289,
          "delta": 0.0623,
          "percent_delta": 0.2748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3407,
          "after": 0.0,
          "delta": -0.3407,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2989,
          "after": 0.395,
          "delta": 0.0961,
          "percent_delta": 0.3215,
          "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_H",
          "before": 0.7811,
          "after": 1.0,
          "delta": 0.2189,
          "percent_delta": 0.2802,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3407,
          "after": 0.0,
          "delta": -0.3407,
          "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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.395,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.395,
        "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.103,
        "after": 0.0,
        "delta": -0.103,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.654,
        "after": 3.0,
        "delta": 0.346,
        "percent_delta": 0.1304,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.244,
        "delta": 0.041,
        "percent_delta": 0.202,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.128,
        "after": 0.0,
        "delta": -0.128,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.538,
        "after": 0.0,
        "delta": -0.538,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.064,
        "after": 0.0,
        "delta": -0.064,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.24,
        "after": 0.289,
        "delta": 0.049,
        "percent_delta": 0.2042,
        "direction": "boost",
        "projection_effect": "better",
        "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.231,
        "after": 1.0,
        "delta": 0.769,
        "percent_delta": 3.329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SF",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "higher",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.314,
        "after": 0.395,
        "delta": 0.081,
        "percent_delta": 0.258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.885,
        "after": 1.0,
        "delta": 0.115,
        "percent_delta": 0.1299,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 7,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SF",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "higher",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.538,
        "after": 0.0,
        "delta": -0.538,
        "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.103-
predicted_3B0.000-
predicted_AB2.654-
predicted_AVG0.203-
predicted_BB0.128-
predicted_H0.538-
predicted_HR0.064-
predicted_OBP0.240-
predicted_R0.462-
predicted_RBI0.231-
predicted_SLG0.314-
predicted_SO0.885-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1130.010
predicted_3B0.0000.000
predicted_AB2.7180.064
predicted_AVG0.197-0.006
predicted_BB0.114-0.014
predicted_H0.535-0.003
predicted_HBP0.010-
predicted_HR0.057-0.007
predicted_OBP0.230-0.010
predicted_R0.426-0.036
predicted_RBI0.206-0.025
predicted_SLG0.302-0.012
predicted_SO0.9300.045
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1130.000
predicted_3B0.0000.000
predicted_AB2.7180.000
predicted_AVG0.194-0.003
predicted_BB0.1140.000
predicted_H0.528-0.008
predicted_HBP0.0100.000
predicted_HR0.057-0.000
predicted_OBP0.227-0.004
predicted_R0.416-0.010
predicted_RBI0.202-0.005
predicted_SLG0.299-0.004
predicted_SO0.929-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1570.157
3B0.0110.011
BB0.1770.177
H0.781-0.219
HR0.1020.102
RBI0.3410.341
SO1.0160.016
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.011
AB3.0000.000
AVG0.244-
BB0.000-0.177
H1.0000.219
HR0.000-0.102
OBP0.289-
R0.0000.000
RBI0.000-0.341
SLG0.395-
SO1.000-0.016
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.113
predicted_3B0.000-0.000
predicted_AB3.0000.282
predicted_AVG0.2440.050
predicted_BB0.000-0.114
predicted_H1.0000.472
predicted_HR0.000-0.057
predicted_OBP0.2890.062
predicted_R0.000-0.416
predicted_RBI0.000-0.202
predicted_SLG0.3950.096
predicted_SO1.0000.071
10. play_by_play_realization

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI1.0001.000
SF1.0001.000
SO1.0000.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF1.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 78
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.0002.0001.0000.0000.0000.0001.0000.0005.0000.14290.14290.21430.14290.00000.00000.00000.3571
last_100.2010-26.0004.0001.0000.0000.0000.0002.0000.00013.0000.15380.15380.19230.15380.00000.00000.00000.5000
season0.6078-207.00042.0008.0000.0005.00018.00036.00010.00069.0000.20290.24200.31400.20290.02420.08700.04830.3333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1270
predicted_3B0.0010
predicted_AB2.8080
predicted_AVG0.1891
predicted_BB0.0950
predicted_H0.5310
predicted_HBP0.0100
predicted_HR0.0480
predicted_OBP0.2167
predicted_R0.3750
predicted_RBI0.1720
predicted_SLG0.2863
predicted_SO0.9930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10300.12700.1130model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.65402.80802.7179model_form_blend
predicted_AVG0.20300.18910.1972model_form_blend
predicted_BB0.12800.09500.1143model_form_blend
predicted_H0.53800.53100.5351model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.06400.04800.0574model_form_blend
predicted_OBP0.24000.21670.2303model_form_blend
predicted_R0.46200.37500.4259model_form_blend
predicted_RBI0.23100.17200.2065model_form_blend
predicted_SLG0.31400.28630.3025model_form_blend
predicted_SO0.88500.99300.9298model_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 date79
Season rows before report date79
Report year2026
Profile rows used78
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
BB0
SO1
SF1
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPR-DH
gameID20261005_NYY@TB
game_typeph
mlbID622761
noteRan for Díaz, Y in the 8th.
playerID622761
playerNameJorge Mateo
posSS
startedFalse
startingPositionPR
teamTB
teamID27
game_date2026-10-05
sl_k_percent31.2
sl_bb_percent5.0
sl_woba0.248
sl_xwoba0.272
sl_xba0.221
sl_xslg0.358
sl_sweet_spot_percent40.7
sl_barrel_batted_rate7.9
sl_hard_hit_percent35.0
sl_exit_velocity_avg87.3
sl_launch_angle_avg14.5
sl_whiff_percent32.0
sl_swing_percent55.3
Taylor Walls (670764) · BATTER · SS · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 428
All-history rows before 20261013: 428
System season_avg: 0.2180
Data season_avg (2026 season-to-date): 0.2204
Diff (system - data): -0.0024
System opponent_avg: 0.0000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1420.0000.000Hitting_2B0.1400.000-0.1400.000
predicted_3B0.0170.0000.000Hitting_3B0.0190.000-0.0190.000
predicted_AB3.1334.0004.000Hitting_AB3.2223.0000.7781.000
predicted_AVG0.1930.0000.000Hitting_AVG0.2200.333-0.220-0.333
predicted_BB0.3750.0000.000Hitting_BB0.4040.000-0.4040.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.5600.0000.000Hitting_H0.7101.000-0.710-1.000
predicted_HR0.0200.0000.000Hitting_HR0.0190.000-0.0190.000
predicted_OBP0.2870.0000.000Hitting_OBP0.3090.333-0.309-0.333
predicted_R0.4920.0000.000Hitting_R0.5260.000-0.5260.000
predicted_RBI0.2400.0000.000Hitting_RBI0.3270.000-0.3270.000
predicted_SLG0.2850.0000.000Hitting_SLG0.2930.333-0.293-0.333
predicted_SO0.8922.0002.000Hitting_SO0.9300.0001.0702.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_SO: 0.8920 -> 2.0000 (boost 1.1080, worse)
Biggest Deboostpredicted_H: 0.5600 -> 0.0000 (deboost -0.5600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_H: 0.5600 -> 0.6164 (boost 0.0564, 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.2903 -> 0.2703 (deboost -0.0200, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_H: 0.6077 -> 1.0000 (boost 0.3923, better)predicted_BB: 0.3543 -> 0.0000 (deboost -0.3543, worse)AB rounded to 3 (raw=3.18), rates preserved: AVG=0.194 HR/AB=0.006
6consistency_constraints10101-predicted_R: 0.4849 -> 0.0000 (deboost -0.4849, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3210 (boost 0.3210, better)predicted_H: 1.0000 -> 0.7508 (deboost -0.2492, 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_allocation106455predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.3210 -> 0.0000 (deboost -0.3210, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization42213predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "670764",
  "player_name": "Taylor Walls",
  "position": "SS",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.142,
        "predicted_3B": 0.017,
        "predicted_AB": 3.133,
        "predicted_AVG": 0.193,
        "predicted_BB": 0.375,
        "predicted_H": 0.56,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.287,
        "predicted_R": 0.492,
        "predicted_RBI": 0.24,
        "predicted_SLG": 0.285,
        "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.167,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.1787,
        "predicted_AVG": 0.2017,
        "predicted_BB": 0.3539,
        "predicted_H": 0.6164,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0187,
        "predicted_OBP": 0.2867,
        "predicted_R": 0.4959,
        "predicted_RBI": 0.249,
        "predicted_SLG": 0.2903,
        "predicted_SO": 0.9075
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.193,
          "after": 0.2017,
          "delta": 0.0087,
          "percent_delta": 0.0451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 0.6164,
          "delta": 0.0564,
          "percent_delta": 0.1007,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.285,
          "after": 0.2903,
          "delta": 0.0053,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 0.6164,
          "delta": 0.0564,
          "percent_delta": 0.1007,
          "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": 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.167,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.1787,
        "predicted_AVG": 0.1912,
        "predicted_BB": 0.3543,
        "predicted_H": 0.6077,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0186,
        "predicted_OBP": 0.2723,
        "predicted_R": 0.4849,
        "predicted_RBI": 0.2435,
        "predicted_SLG": 0.2703,
        "predicted_SO": 0.9065
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2017,
          "after": 0.1912,
          "delta": -0.0105,
          "percent_delta": -0.0521,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2867,
          "after": 0.2723,
          "delta": -0.0144,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2903,
          "after": 0.2703,
          "delta": -0.02,
          "percent_delta": -0.0689,
          "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.2903,
          "after": 0.2703,
          "delta": -0.02,
          "percent_delta": -0.0689,
          "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.18), rates preserved: AVG=0.194 HR/AB=0.006",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.0,
          "delta": -0.167,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.1787,
          "after": 3.0,
          "delta": -0.1787,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3543,
          "after": 0.0,
          "delta": -0.3543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6077,
          "after": 1.0,
          "delta": 0.3923,
          "percent_delta": 0.6455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2435,
          "after": 0.0,
          "delta": -0.2435,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9065,
          "after": 1.0,
          "delta": 0.0935,
          "percent_delta": 0.1031,
          "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.6077,
          "after": 1.0,
          "delta": 0.3923,
          "percent_delta": 0.6455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3543,
          "after": 0.0,
          "delta": -0.3543,
          "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.4849,
          "after": 0.0,
          "delta": -0.4849,
          "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.4849,
          "after": 0.0,
          "delta": -0.4849,
          "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.1553,
        "predicted_3B": 0.0144,
        "predicted_BB": 0.2889,
        "predicted_H": 0.7508,
        "predicted_HR": 0.0531,
        "predicted_RBI": 0.321,
        "predicted_SO": 0.8284
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1553,
          "delta": 0.1553,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2889,
          "delta": 0.2889,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7508,
          "delta": -0.2492,
          "percent_delta": -0.2492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0531,
          "delta": 0.0531,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.321,
          "delta": 0.321,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8284,
          "delta": -0.1716,
          "percent_delta": -0.1716,
          "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.321,
          "delta": 0.321,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7508,
          "delta": -0.2492,
          "percent_delta": -0.2492,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1553,
          "after": 0.0,
          "delta": -0.1553,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1912,
          "after": 0.239,
          "delta": 0.0478,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2889,
          "after": 0.0,
          "delta": -0.2889,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7508,
          "after": 1.0,
          "delta": 0.2492,
          "percent_delta": 0.3319,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0531,
          "after": 0.0,
          "delta": -0.0531,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2723,
          "after": 0.309,
          "delta": 0.0367,
          "percent_delta": 0.1348,
          "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.321,
          "after": 0.0,
          "delta": -0.321,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2703,
          "after": 0.348,
          "delta": 0.0777,
          "percent_delta": 0.2875,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8284,
          "after": 1.0,
          "delta": 0.1716,
          "percent_delta": 0.2071,
          "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_RBI",
          "before": 0.321,
          "after": 0.0,
          "delta": -0.321,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.142,
        "after": 0.0,
        "delta": -0.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.133,
        "after": 4.0,
        "delta": 0.867,
        "percent_delta": 0.2767,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.193,
        "after": 0.239,
        "delta": 0.046,
        "percent_delta": 0.2383,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.375,
        "after": 0.0,
        "delta": -0.375,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.287,
        "after": 0.309,
        "delta": 0.022,
        "percent_delta": 0.0767,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.492,
        "after": 0.0,
        "delta": -0.492,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.285,
        "after": 0.348,
        "delta": 0.063,
        "percent_delta": 0.2211,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.892,
        "after": 2.0,
        "delta": 1.108,
        "percent_delta": 1.2422,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.892,
        "after": 2.0,
        "delta": 1.108,
        "percent_delta": 1.2422,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.142-
predicted_3B0.017-
predicted_AB3.133-
predicted_AVG0.193-
predicted_BB0.375-
predicted_H0.560-
predicted_HR0.020-
predicted_OBP0.287-
predicted_R0.492-
predicted_RBI0.240-
predicted_SLG0.285-
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.1670.025
predicted_3B0.014-0.003
predicted_AB3.1790.046
predicted_AVG0.2020.009
predicted_BB0.354-0.021
predicted_H0.6160.056
predicted_HBP0.016-
predicted_HR0.019-0.001
predicted_OBP0.287-0.000
predicted_R0.4960.004
predicted_RBI0.2490.009
predicted_SLG0.2900.005
predicted_SO0.9070.015
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1670.000
predicted_3B0.0140.000
predicted_AB3.1790.000
predicted_AVG0.191-0.010
predicted_BB0.3540.000
predicted_H0.608-0.009
predicted_HBP0.0160.000
predicted_HR0.019-0.000
predicted_OBP0.272-0.014
predicted_R0.485-0.011
predicted_RBI0.243-0.006
predicted_SLG0.270-0.020
predicted_SO0.906-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1550.155
3B0.0140.014
BB0.2890.289
H0.751-0.249
HR0.0530.053
RBI0.3210.321
SO0.828-0.172
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.155
3B0.000-0.014
AB3.0000.000
AVG0.239-
BB0.000-0.289
H1.0000.249
HR0.000-0.053
OBP0.309-
R1.0001.000
RBI0.000-0.321
SLG0.348-
SO1.0000.172
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.167
predicted_3B0.000-0.014
predicted_AB3.000-0.179
predicted_AVG0.2390.048
predicted_BB0.000-0.354
predicted_H1.0000.392
predicted_HR0.000-0.019
predicted_OBP0.3090.037
predicted_R1.0000.515
predicted_RBI0.000-0.243
predicted_SLG0.3480.078
predicted_SO1.0000.094
10. play_by_play_realization

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

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-18.0003.0002.0000.0000.0000.0002.0001.0006.0000.16670.21050.27780.16670.00000.00000.05560.3333
last_100.2010-30.0007.0002.0000.0000.0003.0006.0003.0008.0000.23330.30300.30000.23330.00000.10000.10000.2667
season0.60120-376.00082.00017.0002.0002.00036.00059.00045.000107.0000.21810.30370.28990.21810.00530.09570.11970.2846
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2000
predicted_3B0.0110
predicted_AB3.2390
predicted_AVG0.2133
predicted_BB0.3260
predicted_H0.6910
predicted_HBP0.0160
predicted_HR0.0170
predicted_OBP0.2863
predicted_R0.5010
predicted_RBI0.2610
predicted_SLG0.2972
predicted_SO0.9280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14200.20000.1670model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB3.13303.23903.1787model_form_blend
predicted_AVG0.19300.21330.2017model_form_blend
predicted_BB0.37500.32600.3539model_form_blend
predicted_H0.56000.69100.6164model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.02000.01700.0187model_form_blend
predicted_OBP0.28700.28630.2867model_form_blend
predicted_R0.49200.50100.4959model_form_blend
predicted_RBI0.24000.26100.2490model_form_blend
predicted_SLG0.28500.29720.2903model_form_blend
predicted_SO0.89200.92800.9075model_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 date428
Season rows before report date428
Report year2026
Profile rows used120
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261007_TB@NYY
game_typefull
mlbID670764
playerID670764
playerNameTaylor Walls
posSS
startedTrue
startingPositionSS
teamTB
teamID27
game_date2026-10-07
sl_k_percent24.2
sl_bb_percent10.4
sl_woba0.278
sl_xwoba0.251
sl_xba0.19
sl_xslg0.261
sl_sweet_spot_percent32.1
sl_barrel_batted_rate2.2
sl_hard_hit_percent21.9
sl_exit_velocity_avg85.6
sl_launch_angle_avg19.4
sl_whiff_percent22.0
sl_swing_percent43.2
Drew Rasmussen (656876) · PITCHER · Starter · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 31
All-history rows before 20261013: 31

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.0972.0000.9030.000
predicted_ER3.0003.0003.000Pitching_ER1.6450.0001.3553.000
predicted_H7.0007.0007.000Pitching_H4.0651.0002.9356.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.7618.000-0.561-2.800
predicted_SO5.0005.0005.000Pitching_SO5.93510.000-0.935-5.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

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

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER4.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP6.333-
predicted_SO5.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

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

MetricValueDelta vs Prev Step
5. opposing_lineup_context

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

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend 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_BB3.0000.000
predicted_ER2.000-2.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP6.100-0.233
predicted_SO6.0001.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
BB2.000-
BF26.000-
ER3.000-
H7.000-
HR1.000-
IP5.200-
Pitches113.000-
R3.000-
SO5.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 31
Reference playing time: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45533.2003.00017.0007.00035.0001.0000.80200.71290.08910.50500.20791.03960.0297
last_100.351062.20013.00037.00014.00062.0002.0001.86700.81380.20740.59040.22340.98940.0319
season0.2031180.00051.000126.00034.000184.00014.0002.55000.88890.28330.70000.18891.02220.0778
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4820
predicted_ER1.3790
predicted_ERA1.9551
predicted_H4.0060
predicted_HR0.3490
predicted_IP6.1000
predicted_SO6.3910
predicted_WHIP0.8645
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.48202.1024model_form_blend
predicted_ER4.00001.37902.4502model_form_blend
predicted_ERA-1.95511.9551form_only
predicted_H4.00004.00604.0035model_form_blend
predicted_HR0.00000.34900.2064model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO5.00006.39105.8225model_form_blend
predicted_WHIP-0.86450.8645form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H7
R3
ER3
BB2
SO5
HR1
BF26
Pitches113

Latest Real Data Snapshot (before report date)

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

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.7350.0000.2651.000
predicted_ER1.0001.0001.000Pitching_ER1.2860.000-0.2861.000
predicted_H2.0002.0002.000Pitching_H2.3671.000-0.3671.000
predicted_IP2.0002.0002.000Pitching_InningsPitched2.6531.100-0.6530.900
predicted_SO2.0002.0002.000Pitching_SO3.3472.000-1.3470.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics3
Deboosted Metrics0
Better Metrics1
Worse Metrics2
Biggest Boostpredicted_H: 0.0000 -> 2.0000 (boost 2.0000, worse)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_run_redistribution22002predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)-Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
8play_by_play_realization22011predicted_H: 1.0000 -> 2.0000 (boost 1.0000, worse)-Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
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": "693855",
  "player_name": "Ian Seymour",
  "position": "Long Reliever",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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": 2.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
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_R": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "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": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.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_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 3,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

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

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP2.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. 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_IP2.0000.000
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
BB1.000-
BF9.000-
ER1.000-
H2.000-
HR0.000-
IP2.000-
Pitches29.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: 48
Reference playing time: 2.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45514.2005.00010.0002.00014.0003.0003.06820.81820.34090.68180.13640.95460.2046
last_100.351040.20019.00038.0005.00049.00011.0004.20491.05740.46720.93440.12301.20490.2705
season0.2048137.00058.000111.00036.000164.00026.0003.81021.07300.42340.81020.26281.19710.1898
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6000
predicted_ER1.3170
predicted_ERA3.7661
predicted_H2.5950
predicted_HR0.6710
predicted_IP3.0000
predicted_SO3.3590
predicted_WHIP1.0151
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.60000.7653model_form_blend
predicted_ER0.00001.31700.7726model_form_blend
predicted_ERA-3.76613.7661form_only
predicted_H0.00002.59501.5223model_form_blend
predicted_HR0.00000.67100.3936model_form_blend
predicted_IP2.00003.00002.2000model_form_blend
predicted_SO1.00003.35902.3838model_form_blend
predicted_WHIP-1.01511.0151form_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 date49
Season rows before report date49
Report year2026
Profile rows used48
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H2
R1
ER1
BB1
SO2
HR0
BF9
Pitches29

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA2.08
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored1
Pitching_InningsPitched1.1
Pitching_Pitches23
Pitching_R0
Pitching_SO2
Pitching_Strikes15
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261007_TB@NYY
game_typefull
mlbID693855
playerID693855
playerNameIan Seymour
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-10-07
sl_k_percent28.7
sl_bb_percent6.5
sl_woba0.308
sl_xwoba0.291
sl_sweet_spot_percent34.4
sl_barrel_batted_rate9.9
sl_hard_hit_percent36.9
sl_whiff_percent29.4
sl_swing_percent51.7
sl_avg_best_speed77.189549826
sl_avg_hyper_speed93.81275102
Cam Booser (592155) · PITCHER · Middle Reliever (High Leverage) · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261013: 44
All-history rows before 20261013: 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.1590.000-0.1590.000
predicted_ER0.0000.0000.000Pitching_ER0.2050.000-0.2050.000
predicted_H0.0000.0000.000Pitching_H0.5680.000-0.5680.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.7640.2000.3360.900
predicted_SO0.0000.0000.000Pitching_SO1.0230.000-1.0230.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_run_redistribution32103predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
8play_by_play_realization31230predicted_IP: 0.2000 -> 1.1000 (boost 0.9000, 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
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": "592155",
  "player_name": "Cam Booser",
  "position": "Middle Reliever (High Leverage)",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend 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": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.2,
          "after": 1.1,
          "delta": 0.9,
          "percent_delta": 4.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.2,
          "after": 1.1,
          "delta": 0.9,
          "percent_delta": 4.5,
          "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": 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": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.1,
        "delta": 0.4333,
        "percent_delta": 0.65,
        "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": 0.6667,
        "after": 1.1,
        "delta": 0.4333,
        "percent_delta": 0.65,
        "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_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. pitcher_quality_run_redistribution

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

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER1.0001.000
predicted_H1.0001.000
predicted_HR0.0000.000
predicted_IP0.200-0.467
predicted_SO0.0000.000
8. play_by_play_realization

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

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER0.000-
H0.000-
HR0.000-
IP1.100-
Pitches9.000-
R0.000-
SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 44
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.2000.0001.0001.0003.0000.0000.00000.54550.00000.27270.27270.81820.0000
last_100.35107.1000.0001.0001.0006.0000.0000.00000.27270.00000.13640.13640.81820.0000
season0.204442.0009.00025.0007.00045.0005.0001.92860.76190.21430.59520.16671.07140.1191
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1910
predicted_ER0.1520
predicted_ERA1.9348
predicted_H0.3860
predicted_HR0.0490
predicted_IP0.2000
predicted_SO0.6330
predicted_WHIP0.8127
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.19100.0947model_form_blend
predicted_ER0.00000.15200.0753model_form_blend
predicted_ERA-1.93481.9348form_only
predicted_H0.00000.38600.1913model_form_blend
predicted_HR0.00000.04900.0243model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.63300.3137model_form_blend
predicted_WHIP-0.81270.8127form_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 used44
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO0
HR0
BF4
Pitches9

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches8
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261007_TB@NYY
game_typefull
mlbID592155
playerID592155
playerNameCam Booser
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-10-07
sl_k_percent29.6
sl_bb_percent3.9
sl_woba0.222
sl_xwoba0.252
sl_sweet_spot_percent32.7
sl_barrel_batted_rate5.9
sl_hard_hit_percent37.6
sl_whiff_percent28.6
sl_swing_percent55.5
sl_avg_best_speed81.083061042
sl_avg_hyper_speed94.197371771