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.
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CHW 4 - 5 CLE | CLE | 0.518 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHW 4 - 5 CLE | CLE | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5398; empirical=0.5639; weight=0.5000; final=0.5519 |
| P1 | H2H margin as base feature | available | home net=-5; abs=5; home delta=-0.0288; away delta=0.0288 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=2.2500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=-0.2685; recent edge=0.0400; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.9000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5185 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.053 | 4.658 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 5 | 0.5185 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| 4 | embedded_savant_run_environment | 4 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5227558159653954,
"base_low_score_probability": 0.4266614235155328,
"low_score_signal_threshold": 0.5066614235155328,
"low_score_signal_strength": 0.09609439244986262,
"confidence": 0.7126120000000002,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.2252240000000005
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.9,
"low_score_model_expected_total_runs": 6.9,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 821,
"near_bucket_sample_size": 821,
"medium_bucket_sample_size": 890,
"wide_bucket_sample_size": 1092,
"global_sample_size": 1131,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5639,
"bayesian_hit_rate": 0.5626,
"prior_strength": 18.0,
"raw_pick_probability": 0.5413,
"raw_pick_probability_unclamped": 0.5413,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5073,
"margin_implied_pick_probability": 0.5073,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.526,
"score_implied_floor_pick_probability": 0.5072,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.541258,
"uncapped_away_win_probability": 0.458742,
"calibrated_pick_probability": 0.5256,
"predicted_side": "home",
"reliability": 0.978546,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.986055
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.539822,
"sample_size": 821,
"empirical_hit_rate": 0.5639,
"empirical_weight": 0.5,
"blended_confidence": 0.551861,
"published_confidence": 0.5185,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -5.0,
"absolute_net_margin": 5.0,
"home_average_margin": -1.0,
"home_run_delta": -0.0288,
"away_run_delta": 0.0288,
"evidence": [
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -4.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": -3.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5246913580246914,
"runs_scored": 678,
"runs_allowed": 667,
"run_differential": 11,
"run_differential_per_game": 0.06790123456790123,
"available": true
},
"away": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185185185185185,
"runs_scored": 776,
"runs_allowed": 720,
"run_differential": 56,
"run_differential_per_game": 0.345679012345679,
"available": true
},
"run_differential_edge_per_game": -0.2778,
"win_pct_edge": 0.0062,
"quality_edge": -0.1605,
"season_quality_edge": -0.2685,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.2685,
"recent_quality_edge": 0.04,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.1605
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.01744160494745018
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.017375707797229457
},
{
"home_runs": 5,
"away_runs": 5,
"probability": 0.017334799164934776
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.017269305543902796
},
{
"home_runs": 5,
"away_runs": 3,
"probability": 0.015876983281940128
}
],
"home_distribution": {
"0": 0.048314403764278285,
"1": 0.07175173601017976,
"2": 0.09661848868951951,
"3": 0.11796688312224266,
"4": 0.13059664125373613,
"5": 0.13109192735013284,
"6": 0.11931414339498507,
"7": 0.09846456002099437,
"8": 0.07367836837057504,
"9": 0.04998872879225278,
"10": 0.030752202373672564,
"11": 0.017153486031480765,
"12": 0.008675621581975525,
"13": 0.003978513588860975,
"14": 0.0016542956551136854
},
"away_distribution": {
"0": 0.05009797024117762,
"1": 0.07431848632840023,
"2": 0.0997441633368908,
"3": 0.12111335612248927,
"4": 0.13304865753377382,
"5": 0.13223391794855024,
"6": 0.11890199614517424,
"7": 0.09672736041242856,
"8": 0.07119072868340738,
"9": 0.0474036137658919,
"10": 0.028557052144400165,
"11": 0.015564286235275058,
"12": 0.007674656641990396,
"13": 0.003423754460150115
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 2.25,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile",
"recent head-to-head margin does not support a strong repeat pick",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "CLE",
"opponent_team": "CHW",
"h2h_net_margin": 0,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-16",
"predicted_team_runs": 6,
"opponent_runs": 3,
"margin_for_predicted_team": 3,
"winner": "CLE"
},
{
"date": "2026-09-15",
"predicted_team_runs": 7,
"opponent_runs": 6,
"margin_for_predicted_team": 1,
"winner": "CLE"
},
{
"date": "2026-09-14",
"predicted_team_runs": 3,
"opponent_runs": 7,
"margin_for_predicted_team": -4,
"winner": "CHW"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 12,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20261003",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CHW",
"actual_margin": 3,
"raw_pick_probability": 0.5229980000000001,
"artifact": "20261003_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260916",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 3,
"raw_pick_probability": 0.556513,
"artifact": "20260916_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260915",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CLE",
"actual_margin": 1,
"raw_pick_probability": 0.544573,
"artifact": "20260915_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260914",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CHW",
"actual_margin": 4,
"raw_pick_probability": 0.505654,
"artifact": "20260914_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260809",
"away": "CLE",
"home": "CHW",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CHW",
"actual_margin": 2,
"raw_pick_probability": 0.56,
"artifact": "20260809_CLE@CHW.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "CLE",
"guardrail_opponent_team": "CHW",
"output_pre_simulation_winner": "CLE",
"output_opponent_team": "CHW",
"simulation_score_winner": "CLE",
"final_score_winner": "CLE",
"pre_simulation_winner": "CLE",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 CLE",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 CLE",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.049,
"recent_form_edge_home_minus_away": -0.03,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "CLE",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5246913580246914,
"runs_scored": 678,
"runs_allowed": 667,
"run_differential": 11,
"run_differential_per_game": 0.06790123456790123,
"available": true
},
"away": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185185185185185,
"runs_scored": 776,
"runs_allowed": 720,
"run_differential": 56,
"run_differential_per_game": 0.345679012345679,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1,
"final_margin": 0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.1605,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.551861,
"final_confidence": 0.5256,
"calibrated_pick_probability": 0.5256,
"shrinkage_weight": 0.986055,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 821,
"calibration_empirical_hit_rate": 0.5639,
"calibration_bayesian_hit_rate": 0.5626,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1605,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 5
},
"margin": 1,
"probability_before": 0.525605,
"margin_implied_home_probability": 0.572388,
"shrinkage_weight": 0.986055,
"side_flipped": false,
"applied": false,
"magnitude_pull_suppressed": true,
"probability_after": 0.525605,
"aligned_pick_probability": 0.525605
},
"starter_experience": {
"applied": false,
"min_starter_games": 32,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 CLE",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 CLE",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.049,
"recent_form_edge_home_minus_away": -0.03,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "CLE",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.5184996125,
"home_win_probability": 0.5184996125,
"away_win_probability": 0.4815003875,
"predicted_score_text": "CHW 4 - 5 CLE",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CHW",
"original_runs": 4,
"run_delta": -0.1691,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.20061598810045134,
"contact": 0.13385046119581112,
"power": 0.3340160534701457,
"discipline": 0.06781188765425736,
"xwoba": 0.3295161290322581,
"recent_xwoba": 0.3295161290322581,
"barrel": 9.825806451612904,
"ab_hard_contact": 0.18022890350429321,
"ab_bat_speed": 69.76851619677676,
"ab_strikeout_rate": 0.26424390315959806,
"available_players": 9,
"top_players": [
{
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"weight": 4.0,
"quality": 0.8250851188870992,
"contact": 0.3690512901662923,
"power": 1.7446519928411803,
"discipline": -0.08415194258297673,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 20.5,
"ab_hard_contact": 0.8118969996807419,
"ab_bat_speed": 73.14047844827586,
"ab_strikeout_rate": 0.3649014778325123,
"available": 1.0
},
{
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"weight": 4.0,
"quality": 1.0124378036314987,
"contact": 0.9855242917270529,
"power": 1.1471618233528365,
"discipline": 0.9850155946934471,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 13.0,
"ab_hard_contact": 0.7655221813424515,
"ab_bat_speed": 72.6348808991158,
"ab_strikeout_rate": 0.18509108341323108,
"available": 1.0
},
{
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"weight": 3.0,
"quality": -0.36065419515144226,
"contact": -0.2681916119183442,
"power": -0.5522273360814376,
"discipline": 0.28802797440297456,
"xwoba": 0.301,
"recent_xwoba": 0.301,
"barrel": 4.6,
"ab_hard_contact": -0.6148324359144686,
"ab_bat_speed": 64.30609355709878,
"ab_strikeout_rate": 0.22379298941798942,
"available": 1.0
},
{
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"weight": 3.0,
"quality": -0.273775716178393,
"contact": -0.7182543847035345,
"power": 0.35869520601172783,
"discipline": -0.9236800422152533,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 12.0,
"ab_hard_contact": 0.36666602499646367,
"ab_bat_speed": 74.80167379275653,
"ab_strikeout_rate": 0.3513581488933602,
"available": 1.0
},
{
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "LF",
"weight": 4.0,
"quality": 0.2258623095223891,
"contact": 0.6076162398121087,
"power": -0.23627065027240549,
"discipline": 0.49326319342598424,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 5.0,
"ab_hard_contact": -0.10103205306716208,
"ab_bat_speed": 68.13744058805106,
"ab_strikeout_rate": 0.15012919896640828,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "668909",
"player_name": "Gavin Williams",
"quality": 0.2978196427625173,
"contact": 0.00676738371165328,
"command": 0.8326841458805745,
"movement": 0.5288565493116775,
"xwoba": 0.302,
"whiff": 32.8,
"faced_est_woba": 0.2648406655555556,
"faced_launch_speed": 83.79124666446208,
"faced_strikeout_rate": 0.2356947200176367,
"faced_run_exp": 0.006483162950047203
}
},
"home": {
"team": "CLE",
"original_runs": 5,
"run_delta": 0.2405,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.08783973362229333,
"contact": 0.21386448980642986,
"power": -0.09085382226297484,
"discipline": 0.2958489880816083,
"xwoba": 0.31975757575757574,
"recent_xwoba": 0.31975757575757574,
"barrel": 5.715151515151514,
"ab_hard_contact": -0.09580660398965658,
"ab_bat_speed": 69.6376105508282,
"ab_strikeout_rate": 0.19153041729779705,
"available_players": 9,
"top_players": [
{
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "RF",
"weight": 4.0,
"quality": 0.6851132659298864,
"contact": 1.0199038319320137,
"power": 0.41767573846230455,
"discipline": 0.8617381306877105,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 6.3,
"ab_hard_contact": 0.4399909597222753,
"ab_bat_speed": 69.96645661597972,
"ab_strikeout_rate": 0.1463685474189676,
"available": 1.0
},
{
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"weight": 3.0,
"quality": -0.43497326578051737,
"contact": -0.31060163416013786,
"power": -0.7262924960328402,
"discipline": 0.09286007946722233,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 2.9,
"ab_hard_contact": -0.5128975397044175,
"ab_bat_speed": 68.84742151360544,
"ab_strikeout_rate": 0.14203231292517007,
"available": 1.0
},
{
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"weight": 4.0,
"quality": -0.2603459813350393,
"contact": 0.09193386543373923,
"power": -1.2198986439724582,
"discipline": 1.6009967427745206,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 0.4,
"ab_hard_contact": -0.679115736592031,
"ab_bat_speed": 61.13357732706252,
"ab_strikeout_rate": 0.09382422104644327,
"available": 1.0
},
{
"player_id": "666176",
"player_name": "Jo Adell",
"position": "DH",
"weight": 4.0,
"quality": 0.3687970428584988,
"contact": 0.4036481057653567,
"power": 0.6056087008777206,
"discipline": -0.6249783559069273,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 8.9,
"ab_hard_contact": 0.4234121127924978,
"ab_bat_speed": 75.66038783608683,
"ab_strikeout_rate": 0.2590136054421769,
"available": 1.0
},
{
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"weight": 4.0,
"quality": 0.38001022677653395,
"contact": 0.4691124922871121,
"power": 0.43010485771086193,
"discipline": 0.058430400256088366,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 8.4,
"ab_hard_contact": 0.13200191612200524,
"ab_bat_speed": 73.60725835517694,
"ab_strikeout_rate": 0.2686762778505898,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "641743",
"player_name": "Anthony Kay",
"quality": -0.338959383747517,
"contact": -0.3627341557312044,
"command": -0.4073158541194256,
"movement": -0.2198221522728276,
"xwoba": 0.342,
"whiff": 23.4,
"faced_est_woba": 0.2648406655555556,
"faced_launch_speed": 83.79124666446208,
"faced_strikeout_rate": 0.2356947200176367,
"faced_run_exp": 0.006483162950047203
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": -0.1605,
"recent_form_edge_home_minus_away": -0.03,
"pitcher_matchup_edge_home_minus_away": 0.049,
"composite_home_edge": 0.192,
"existing_home_win_probability": 0.5256,
"refreshed_home_win_probability": 0.5948,
"winner_support_before_review": 0.192
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.525605,
"uncapped_away_win_probability": 0.474395,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.525605,
"discount_factor": 0.7225,
"published_confidence": 0.5185,
"guardrail_confidence_cap": 0.56,
"guardrail_cap_enforced": false,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
},
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.59485,
"incoming_favoured_side": "home",
"score_winner_side": "home",
"published_home_win_probability": 0.5185,
"probability_side_reverted_by_score": false,
"note": "The probability and the projected score agree on the winner."
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "CHW 4 - 5 CLE",
"confidence": 0.5184996125,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 CLE",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 CLE",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.049,
"recent_form_edge_home_minus_away": -0.03,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "CLE",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "CLE",
"display_confidence": 0.5185,
"internal_signal_score": 0.5507,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5185,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "neutral_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner_recent_form_edge": 0.04,
"winner_pitcher_matchup_edge": 0.049,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.0,
"total_runs_spread": {
"min": 7,
"median": 8,
"max": 8,
"range": 1
}
},
"interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
}
}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.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away CHW | True | 1.0322 | 1.0322 | 1 | 9 | 0 |
| Home CLE | True | 1.0222 | 1.0222 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Sam Antonacci | - | 1.0446 | 0.5947 | neutral | 0.3480 | 0.2840 | 0.3990 | 5 | 33.60 | 87.50 | 9.90 | 14.70 | 14.70 | 7.70 | 0.0857 |
| 1B | Munetaka Murakami | - | 1.0835 | 1.1131 | neutral | 0.3510 | 0.2040 | 0.4690 | 20.50 | 56.80 | 93.90 | 16.10 | 42.30 | 35.40 | 16.60 | -0.1429 |
| 3B | Miguel Vargas | - | 1.1095 | 1.4598 | neutral | 0.3780 | 0.2630 | 0.4960 | 13 | 43.80 | 90.10 | 20.50 | 21 | 17.90 | 14.30 | 0.4286 |
| RF | Braden Montgomery | - | 1.0305 | 0.4073 | neutral | 0.3250 | 0.2550 | 0.3920 | 4.40 | 40.90 | 88.90 | 3 | 30.10 | 19.70 | 10.40 | 0.7714 |
| DH | Andrew Benintendi | - | 1.0232 | 0.3097 | neutral | 0.3070 | 0.2400 | 0.3980 | 8.60 | 45.10 | 89.30 | 17.30 | 28.30 | 23.90 | 8.30 | -0.1143 |
| C | Kyle Teel | - | 1.0131 | 0.1752 | neutral | 0.3210 | 0.2110 | 0.3750 | 11.40 | 47.10 | 85.70 | 13.60 | 35.60 | 35.40 | 13.20 | 0.1143 |
| CF | Tristan Peters | - | 1.0019 | 0.0255 | neutral | 0.3140 | 0.2480 | 0.3840 | 5.40 | 34.10 | 87.50 | 18 | 23 | 18.30 | 7.50 | -0.7429 |
| 2B | Chase Meidroth | - | 0.9823 | -0.2365 | negative_batter_regression | 0.3010 | 0.2390 | 0.3480 | 4.60 | 34.60 | 87.20 | 8.50 | 19.70 | 21.90 | 9.50 | -1.0857 |
| SS | Colson Montgomery | - | 1.0009 | 0.0126 | neutral | 0.2940 | 0.1990 | 0.3880 | 12 | 40.90 | 88.60 | 23.60 | 37.40 | 35.60 | 8.50 | -0.1714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Steven Kwan | - | 1.0018 | 0.0246 | neutral | 0.3290 | 0.2780 | 0.3430 | 0.40 | 10.50 | 83.90 | 12.80 | 8.20 | 9.70 | 13.30 | -0.1429 |
| DH | Jo Adell | - | 1.0538 | 0.7179 | neutral | 0.3290 | 0.2570 | 0.4440 | 8.90 | 44.90 | 90.40 | 16.20 | 28.20 | 23.80 | 5.20 | 0.6286 |
| 3B | José Ramírez | - | 1.0359 | 0.4788 | neutral | 0.3250 | 0.2660 | 0.3910 | 4.10 | 38.80 | 88.60 | 19 | 15.30 | 12.70 | 11 | 0.6857 |
| 1B | Nathaniel Lowe | - | 1.0555 | 0.7399 | neutral | 0.3350 | 0.2680 | 0.4370 | 8.40 | 41.40 | 89.60 | 14.60 | 22 | 23.10 | 8.90 | 0.1714 |
| LF | Angel Martínez | - | 0.9984 | -0.0218 | neutral | 0.2990 | 0.2510 | 0.4010 | 7.20 | 35.50 | 87.50 | 14.80 | 20.70 | 21.90 | 3.10 | -0.7714 |
| RF | Chase DeLauter | - | 1.0602 | 0.8032 | neutral | 0.3460 | 0.2770 | 0.4270 | 6.30 | 46.30 | 91.40 | 11.80 | 15 | 14.70 | 10.70 | -0.3714 |
| C | Patrick Bailey | - | 1.0330 | 0.4406 | positive_batter_regression | 0.3070 | 0.2400 | 0.3980 | 7.70 | 42.40 | 90.50 | 13.40 | 26.80 | 26.70 | 8.10 | 1.0286 |
| 2B | Travis Bazzana | - | 0.9817 | -0.2433 | neutral | 0.2990 | 0.2240 | 0.3470 | 5.20 | 36.20 | 87.60 | 15.70 | 23.20 | 20.70 | 10.80 | -0.8286 |
| SS | Brayan Rocchio | - | 0.9791 | -0.2783 | neutral | 0.2940 | 0.2460 | 0.3500 | 2.90 | 30 | 87 | 13.80 | 22.10 | 14.40 | 6.40 | -0.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0222,
"raw_average_factor": 1.0222,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "680757",
"player_name": "Steven Kwan",
"offense_factor": 1.0018,
"quality_score": 0.0246,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680757",
"espn_rank": null
},
"metrics": {
"pa": 580.0,
"k_percent": 9.7,
"bb_percent": 13.3,
"woba": 0.334,
"xwoba": 0.329,
"xba": 0.278,
"xslg": 0.343,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 0.4,
"hard_hit_percent": 10.5,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 12.8,
"whiff_percent": 8.2,
"swing_percent": 35.7
},
"components": {
"expected_quality": 0.0518,
"regression_edge": -0.1429,
"xwoba_edge": 0.8571,
"xba_edge": 1.2,
"xslg_edge": -0.2857,
"barrel_edge": -1.3778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.8,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0538,
"quality_score": 0.7179,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "666176",
"espn_rank": null
},
"metrics": {
"pa": 605.0,
"k_percent": 23.8,
"bb_percent": 5.2,
"woba": 0.307,
"xwoba": 0.329,
"xba": 0.257,
"xslg": 0.444,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 16.2,
"whiff_percent": 28.2,
"swing_percent": 53.2
},
"components": {
"expected_quality": 0.7325,
"regression_edge": 0.6286,
"xwoba_edge": 0.8571,
"xba_edge": 0.6,
"xslg_edge": 1.1571,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "608070",
"player_name": "José Ramírez",
"offense_factor": 1.0359,
"quality_score": 0.4788,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "608070",
"espn_rank": null
},
"metrics": {
"pa": 486.0,
"k_percent": 12.7,
"bb_percent": 11.0,
"woba": 0.301,
"xwoba": 0.325,
"xba": 0.266,
"xslg": 0.391,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 19.0,
"whiff_percent": 15.3,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.4451,
"regression_edge": 0.6857,
"xwoba_edge": 0.7429,
"xba_edge": 0.8571,
"xslg_edge": 0.4,
"barrel_edge": -0.5556,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.0555,
"quality_score": 0.7399,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663993",
"espn_rank": null
},
"metrics": {
"pa": 391.0,
"k_percent": 23.1,
"bb_percent": 8.9,
"woba": 0.329,
"xwoba": 0.335,
"xba": 0.268,
"xslg": 0.437,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 14.6,
"whiff_percent": 22.0,
"swing_percent": 46.1
},
"components": {
"expected_quality": 0.8325,
"regression_edge": 0.1714,
"xwoba_edge": 1.0286,
"xba_edge": 0.9143,
"xslg_edge": 1.0571,
"barrel_edge": 0.4,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "682657",
"player_name": "Angel Martínez",
"offense_factor": 0.9984,
"quality_score": -0.0218,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "682657",
"espn_rank": null
},
"metrics": {
"pa": 374.0,
"k_percent": 21.9,
"bb_percent": 3.1,
"woba": 0.326,
"xwoba": 0.299,
"xba": 0.251,
"xslg": 0.401,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 35.5,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 14.8,
"whiff_percent": 20.7,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.1002,
"regression_edge": -0.7714,
"xwoba_edge": 0.0,
"xba_edge": 0.4286,
"xslg_edge": 0.5429,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.3,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "800050",
"player_name": "Chase DeLauter",
"offense_factor": 1.0602,
"quality_score": 0.8032,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "800050",
"espn_rank": null
},
"metrics": {
"pa": 511.0,
"k_percent": 14.7,
"bb_percent": 10.7,
"woba": 0.359,
"xwoba": 0.346,
"xba": 0.277,
"xslg": 0.427,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.8,
"whiff_percent": 15.0,
"swing_percent": 42.3
},
"components": {
"expected_quality": 0.9944,
"regression_edge": -0.3714,
"xwoba_edge": 1.3429,
"xba_edge": 1.1714,
"xslg_edge": 0.9143,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "672275",
"player_name": "Patrick Bailey",
"offense_factor": 1.033,
"quality_score": 0.4406,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": false,
"player_id": "672275",
"espn_rank": null
},
"metrics": {
"pa": 306.0,
"k_percent": 26.7,
"bb_percent": 8.1,
"woba": 0.271,
"xwoba": 0.307,
"xba": 0.24,
"xslg": 0.398,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.4,
"whiff_percent": 26.8,
"swing_percent": 49.6
},
"components": {
"expected_quality": 0.3449,
"regression_edge": 1.0286,
"xwoba_edge": 0.2286,
"xba_edge": 0.1143,
"xslg_edge": 0.5,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683953",
"player_name": "Travis Bazzana",
"offense_factor": 0.9817,
"quality_score": -0.2433,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683953",
"espn_rank": null
},
"metrics": {
"pa": 473.0,
"k_percent": 20.7,
"bb_percent": 10.8,
"woba": 0.328,
"xwoba": 0.299,
"xba": 0.224,
"xslg": 0.347,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 15.7,
"whiff_percent": 23.2,
"swing_percent": 45.9
},
"components": {
"expected_quality": -0.1481,
"regression_edge": -0.8286,
"xwoba_edge": 0.0,
"xba_edge": -0.3429,
"xslg_edge": -0.2286,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.2,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"offense_factor": 0.9791,
"quality_score": -0.2783,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "677587",
"espn_rank": null
},
"metrics": {
"pa": 548.0,
"k_percent": 14.4,
"bb_percent": 6.4,
"woba": 0.311,
"xwoba": 0.294,
"xba": 0.246,
"xslg": 0.35,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 30.0,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 13.8,
"whiff_percent": 22.1,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.2445,
"regression_edge": -0.4857,
"xwoba_edge": -0.1429,
"xba_edge": 0.2857,
"xslg_edge": -0.1857,
"barrel_edge": -0.8222,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0322,
"raw_average_factor": 1.0322,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0446,
"quality_score": 0.5947,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "803011",
"espn_rank": null
},
"metrics": {
"pa": 511.0,
"k_percent": 14.7,
"bb_percent": 7.7,
"woba": 0.345,
"xwoba": 0.348,
"xba": 0.284,
"xslg": 0.399,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 33.6,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 9.9,
"whiff_percent": 14.7,
"swing_percent": 42.5
},
"components": {
"expected_quality": 0.6776,
"regression_edge": 0.0857,
"xwoba_edge": 1.4,
"xba_edge": 1.3714,
"xslg_edge": 0.5143,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.5714,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"offense_factor": 1.0835,
"quality_score": 1.1131,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "808959",
"espn_rank": null
},
"metrics": {
"pa": 491.0,
"k_percent": 35.4,
"bb_percent": 16.6,
"woba": 0.356,
"xwoba": 0.351,
"xba": 0.204,
"xslg": 0.469,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 20.5,
"hard_hit_percent": 56.8,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 16.1,
"whiff_percent": 42.3,
"swing_percent": 40.7
},
"components": {
"expected_quality": 1.3175,
"regression_edge": -0.1429,
"xwoba_edge": 1.4857,
"xba_edge": -0.9143,
"xslg_edge": 1.5143,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.2,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1095,
"quality_score": 1.4598,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "678246",
"espn_rank": null
},
"metrics": {
"pa": 651.0,
"k_percent": 17.9,
"bb_percent": 14.3,
"woba": 0.363,
"xwoba": 0.378,
"xba": 0.263,
"xslg": 0.496,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 20.5,
"whiff_percent": 21.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.6277,
"regression_edge": 0.4286,
"xwoba_edge": 2.2571,
"xba_edge": 0.7714,
"xslg_edge": 1.9,
"barrel_edge": 1.4222,
"hard_hit_edge": 0.8857,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "695731",
"player_name": "Braden Montgomery",
"offense_factor": 1.0305,
"quality_score": 0.4073,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "695731",
"espn_rank": null
},
"metrics": {
"pa": 332.0,
"k_percent": 19.7,
"bb_percent": 10.4,
"woba": 0.298,
"xwoba": 0.325,
"xba": 0.255,
"xslg": 0.392,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 3.0,
"whiff_percent": 30.1,
"swing_percent": 50.4
},
"components": {
"expected_quality": 0.348,
"regression_edge": 0.7714,
"xwoba_edge": 0.7429,
"xba_edge": 0.5429,
"xslg_edge": 0.4143,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"offense_factor": 1.0232,
"quality_score": 0.3097,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "643217",
"espn_rank": null
},
"metrics": {
"pa": 435.0,
"k_percent": 23.9,
"bb_percent": 8.3,
"woba": 0.311,
"xwoba": 0.307,
"xba": 0.24,
"xslg": 0.398,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 17.3,
"whiff_percent": 28.3,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.3787,
"regression_edge": -0.1143,
"xwoba_edge": 0.2286,
"xba_edge": 0.1143,
"xslg_edge": 0.5,
"barrel_edge": 0.4444,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "691019",
"player_name": "Kyle Teel",
"offense_factor": 1.0131,
"quality_score": 0.1752,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691019",
"espn_rank": null
},
"metrics": {
"pa": 106.0,
"k_percent": 35.4,
"bb_percent": 13.2,
"woba": 0.317,
"xwoba": 0.321,
"xba": 0.211,
"xslg": 0.375,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 13.6,
"whiff_percent": 35.6,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.4042,
"regression_edge": 0.1143,
"xwoba_edge": 0.6286,
"xba_edge": -0.7143,
"xslg_edge": 0.1714,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.3571,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 1.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "671976",
"player_name": "Tristan Peters",
"offense_factor": 1.0019,
"quality_score": 0.0255,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "671976",
"espn_rank": null
},
"metrics": {
"pa": 452.0,
"k_percent": 18.3,
"bb_percent": 7.5,
"woba": 0.34,
"xwoba": 0.314,
"xba": 0.248,
"xslg": 0.384,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 34.1,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 18.0,
"whiff_percent": 23.0,
"swing_percent": 53.6
},
"components": {
"expected_quality": 0.1505,
"regression_edge": -0.7429,
"xwoba_edge": 0.4286,
"xba_edge": 0.3429,
"xslg_edge": 0.3,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.5,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9823,
"quality_score": -0.2365,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "805367",
"espn_rank": null
},
"metrics": {
"pa": 597.0,
"k_percent": 21.9,
"bb_percent": 9.5,
"woba": 0.339,
"xwoba": 0.301,
"xba": 0.239,
"xslg": 0.348,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 34.6,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 8.5,
"whiff_percent": 19.7,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.0983,
"regression_edge": -1.0857,
"xwoba_edge": 0.0571,
"xba_edge": 0.0857,
"xslg_edge": -0.2143,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0009,
"quality_score": 0.0126,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "695657",
"espn_rank": null
},
"metrics": {
"pa": 588.0,
"k_percent": 35.6,
"bb_percent": 8.5,
"woba": 0.3,
"xwoba": 0.294,
"xba": 0.199,
"xslg": 0.388,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 23.6,
"whiff_percent": 37.4,
"swing_percent": 51.5
},
"components": {
"expected_quality": 0.0426,
"regression_edge": -0.1714,
"xwoba_edge": -0.1429,
"xba_edge": -1.0571,
"xslg_edge": 0.3571,
"barrel_edge": 1.2,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Anthony Kay | True | - | -0.3447 | 1 | 1.0293 | 0.9674 | 0.9740 | 1.0474 | neutral | 0.3420 | 0.3390 | 18.20 | 7.90 | 23.40 | 8.10 | 38.90 |
| Home CLE | Gavin Williams | True | - | 0.2212 | 1 | 0.9812 | 1.1069 | 0.9800 | 1.1158 | neutral | 0.3020 | 0.2940 | 33.20 | 8.20 | 32.80 | 11.40 | 46.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Anthony Kay | True | None | 66 | 90.04 | 2296 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0101 |
| Home CLE | Gavin Williams | True | None | 92 | 90.98 | 2292 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0624 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9924 |
| home_runs_vs_away_pitcher | 1.0141 |
| home_pitcher_starter_only_factor | 0.9812 |
| away_pitcher_starter_only_factor | 1.0293 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.5185 |
| home_pitcher_quality_edge | 0.3180 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "668909",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 700.0,
"k_percent": 33.2,
"bb_percent": 8.2,
"woba": 0.294,
"xwoba": 0.302,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.6,
"avg_best_speed": 79.2974,
"avg_hyper_speed": 94.9953,
"whiff_percent": 32.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1041,
"command_and_miss": 1.1436,
"regression_edge": -0.2286,
"xwoba_edge": 0.2857,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.2429,
"whiff_edge": 1.0857,
"bb_edge": 0.25,
"pitch_design_score": 0.0624
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668909",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9785,
"release_spin_rate": 2292.1975,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0624,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4457,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2212,
"sample_weight": 1.0,
"run_prevention_factor": 0.9812,
"strikeout_factor": 1.1069,
"walk_factor": 0.98,
"homer_factor": 1.1158,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668909",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "641743",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 659.0,
"k_percent": 18.2,
"bb_percent": 7.9,
"woba": 0.339,
"xwoba": 0.342,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 38.9,
"avg_best_speed": 76.4956,
"avg_hyper_speed": 94.2252,
"whiff_percent": 23.4,
"swing_percent": 47.3
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4736,
"command_and_miss": -0.2757,
"regression_edge": -0.0857,
"xwoba_edge": -0.8571,
"barrel_edge": -0.2,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.2571,
"bb_edge": 0.325,
"pitch_design_score": 0.0101
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641743",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.0448,
"release_spin_rate": 2295.8501,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0101,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0723,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.3447,
"sample_weight": 1.0,
"run_prevention_factor": 1.0293,
"strikeout_factor": 0.9674,
"walk_factor": 0.974,
"homer_factor": 1.0474,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641743",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9924,
"home_runs_vs_away_pitcher": 1.0141,
"home_pitcher_starter_only_factor": 0.9812,
"away_pitcher_starter_only_factor": 1.0293,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.5185,
"home_pitcher_quality_edge": 0.318
},
"score_before": {
"away_runs": 4.0,
"home_runs": 5.0
},
"score_after": {
"away_runs": 3.9695,
"home_runs": 5.0703,
"home_win_probability": 0.5993
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CHW | 7-3 | 0.700 | 6.50 | 4.30 | 22 | 1W | hot | average |
| Home CLE | 8-2 | 0.800 | 5.30 | 3.20 | 21 | 1L | hot | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHW | 84-78 | 0.519 | 56 | 0.346 | True |
| Home CLE | 85-77 | 0.525 | 11 | 0.068 | True |
| Signal | - | - | -0.278 | -0.161 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-16 | CHW @ CLE | 3 - 6 | CLE | 3 | blowout |
| 2026-09-15 | CHW @ CLE | 6 - 7 | CLE | 1 | close |
| 2026-09-14 | CHW @ CLE | 7 - 3 | CHW | 4 | blowout |
| 2026-08-09 | CLE @ CHW | 3 - 5 | CHW | 2 | close |
| 2026-08-08 | CLE @ CHW | 3 - 6 | CHW | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHW | - | - | 4 | - | - | - | - |
| Game target CLE | - | - | 5 | - | - | - | - |
| Player finalized CHW | 31 | 7 | 5 | 1 | 4 | 4 | 11 |
| Player finalized CLE | 33 | 8 | 5 | 1 | 4 | 3 | 7 |
| Player model fractional CHW | 31.08 | 6.62 | 4.78 | 1.11 | 4.59 | 3.75 | 10.93 |
| Player model fractional CLE | 33.10 | 7.56 | 3.95 | 1.01 | 3.95 | 3.10 | 6.01 |
| Simulation box CHW | 37 | 10 | 4 | 1 | 4 | 1 | 6 |
| Simulation box CLE | 33 | 9 | 5 | 1 | 5 | 1 | 6 |
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.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Starter | Anthony Kay | 4.20 | 1 | 4 | 5 | 1 | 4.24 | 1.44 | True |
| Away CHW | Closer | Grant Taylor | 1.10 | 4 | 1 | 4 | 0 | 2.02 | 0.93 | True |
| Away CHW | Setup Man | Bryan Hudson | 1 | 0 | 1 | 0 | 0 | 3.44 | 1.27 | True |
| Away CHW | Middle Reliever (High Leverage) | Sean Newcomb | 1 | 0 | 0 | 0 | 0 | 4.68 | 1.35 | True |
| Home CLE | Starter | Gavin Williams | 5.20 | 3 | 6 | 6 | 0 | 3.44 | 1.16 | True |
| Home CLE | Closer | Cade Smith | 1 | 0 | 0 | 2 | 0 | 1.42 | 0.71 | True |
| Home CLE | Middle Reliever (High Leverage) | Erik Sabrowski | 1.10 | 1 | 0 | 2 | 0 | 2.76 | 1.16 | True |
| Home CLE | Setup Man | Hunter Gaddis | 1 | 0 | 0 | 0 | 1 | 4.89 | 1.67 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CLE | pitcher | Starter | Gavin Williams | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 3.0000 | boost | better |
| away | CHW | batter | LF | Sam Antonacci | better | 11 | 8 | 3 | 9 | 2 | predicted_RBI | 2.6480 | boost | better |
| home | CLE | batter | SS | Brayan Rocchio | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 2.4700 | boost | better |
| away | CHW | batter | SS | Colson Montgomery | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 2.2200 | boost | better |
| home | CLE | pitcher | Middle Reliever (High Leverage) | Erik Sabrowski | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | -2.0000 | deboost | worse |
| away | CHW | batter | C | Kyle Teel | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.6340 | boost | worse |
| away | CHW | batter | 3B | Miguel Vargas | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.2200 | boost | better |
| away | CHW | batter | RF | Braden Montgomery | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.2110 | boost | better |
| home | CLE | batter | 1B | Nathaniel Lowe | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.1710 | boost | worse |
| home | CLE | batter | 2B | Travis Bazzana | better | 9 | 5 | 4 | 6 | 3 | predicted_H | 1.1600 | boost | better |
| away | CHW | batter | DH | Andrew Benintendi | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 1.0350 | boost | better |
| away | CHW | batter | CF | Tristan Peters | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.0270 | boost | better |
| home | CLE | pitcher | Closer | Cade Smith | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | CLE | batter | 3B | José Ramírez | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -0.9600 | deboost | worse |
| away | CHW | batter | 2B | Chase Meidroth | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -0.9500 | deboost | worse |
| home | CLE | batter | C | Patrick Bailey | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_2B | 0.9190 | boost | better |
| away | CHW | batter | 1B | Munetaka Murakami | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | -0.7460 | deboost | worse |
| home | CLE | batter | LF | Angel Martínez | worse | 10 | 3 | 7 | 2 | 8 | predicted_RBI | -0.7000 | deboost | worse |
| home | CLE | batter | DH | Jo Adell | worse | 9 | 3 | 6 | 3 | 6 | predicted_RBI | -0.5850 | deboost | worse |
| home | CLE | batter | CF | Steven Kwan | better | 8 | 4 | 4 | 5 | 3 | predicted_BB | -0.5680 | deboost | worse |
| home | CLE | batter | RF | Chase DeLauter | worse | 8 | 2 | 6 | 1 | 7 | predicted_R | 0.5430 | boost | better |
| away | CHW | pitcher | Starter | Anthony Kay | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | CHW | pitcher | Closer | Grant Taylor | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Anthony Kay |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3447 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0101 |
| Avg Velo | 90.0448 |
| Avg Spin | 2295.8501 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 1 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 4.3875 |
| Season WHIP | 1.3750 |
| Role Avg IP | 4.8710 |
| Recent Avg IP | 4.2670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0667,
"opponent_offense_edge": -0.068,
"defense_strength": 0.0104,
"opponent_defense_weakness": -0.0907,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9884,
"strikeout": 1.0053
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641743",
"profile": {
"available": true,
"pitcher_id": "641743",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 659.0,
"k_percent": 18.2,
"bb_percent": 7.9,
"woba": 0.339,
"xwoba": 0.342,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 38.9,
"avg_best_speed": 76.4956,
"avg_hyper_speed": 94.2252,
"whiff_percent": 23.4,
"swing_percent": 47.3
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4736,
"command_and_miss": -0.2757,
"regression_edge": -0.0857,
"xwoba_edge": -0.8571,
"barrel_edge": -0.2,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.2571,
"bb_edge": 0.325,
"pitch_design_score": 0.0101
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641743",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.0448,
"release_spin_rate": 2295.8501,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0101,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0723,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.3447,
"sample_weight": 1.0,
"run_prevention_factor": 1.0293,
"strikeout_factor": 0.9674,
"walk_factor": 0.974,
"homer_factor": 1.0474,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641743",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0293,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0293,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.974,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0474,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9674,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 38.2,
"ER": 24,
"H": 43,
"BB": 14,
"SO": 31,
"HR": 5,
"ERA": 5.586206896551724,
"WHIP": 1.4741379310344829,
"K9": 7.2155172413793105,
"HR9": 1.163793103448276,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "641743",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.0448,
"release_spin_rate": 2295.8501,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0101,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0723,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 35.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.875,
"prior_weight": 0.125
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641743",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 15.0,
"ER": 5.0,
"R": 7.0,
"H": 15.0,
"BB": 7.0,
"SO": 11.0,
"HR": 1.0,
"BF": 67.0,
"Pitches": 238.0
},
"per_game": {
"IP": 3.0,
"ER": 1.0,
"R": 1.4,
"H": 3.0,
"BB": 1.4,
"SO": 2.2,
"HR": 0.2,
"BF": 13.4,
"Pitches": 47.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.4667,
"ER_per_IP": 0.33333,
"H_per_IP": 1.0,
"BB_per_IP": 0.46667,
"SO_per_IP": 0.73333,
"HR_per_IP": 0.06667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 38.2,
"ER": 24.0,
"R": 27.0,
"H": 43.0,
"BB": 14.0,
"SO": 31.0,
"HR": 5.0,
"BF": 178.0,
"Pitches": 669.0
},
"per_game": {
"IP": 4.0,
"ER": 2.4,
"R": 2.7,
"H": 4.3,
"BB": 1.4,
"SO": 3.1,
"HR": 0.5,
"BF": 17.8,
"Pitches": 66.9
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.4741,
"ER_per_IP": 0.62069,
"H_per_IP": 1.11207,
"BB_per_IP": 0.36207,
"SO_per_IP": 0.80172,
"HR_per_IP": 0.12931
}
},
"season": {
"games": 35,
"totals": {
"IP": 160.0,
"ER": 78.0,
"R": 85.0,
"H": 162.0,
"BB": 58.0,
"SO": 129.0,
"HR": 21.0,
"BF": 719.0,
"Pitches": 2821.0
},
"per_game": {
"IP": 4.2,
"ER": 2.2286,
"R": 2.4286,
"H": 4.6286,
"BB": 1.6571,
"SO": 3.6857,
"HR": 0.6,
"BF": 20.5429,
"Pitches": 80.6
},
"rates": {
"ERA": 4.3875,
"WHIP": 1.375,
"ER_per_IP": 0.4875,
"H_per_IP": 1.0125,
"BB_per_IP": 0.3625,
"SO_per_IP": 0.80625,
"HR_per_IP": 0.13125
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.792,
"predicted_H": 3.938,
"predicted_BB": 1.544,
"predicted_SO": 3.015,
"predicted_HR": 0.408,
"predicted_ERA": 4.2372,
"predicted_WHIP": 1.4401
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4028,
"form_weight": 0.5972,
"form_reliability": 0.875,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 35.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.875,
"prior_weight": 0.125
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 3.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.792,
"final": 1.473,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 3.938,
"final": 4.3658,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.544,
"final": 1.3249,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.015,
"final": 3.4118,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.408,
"final": 0.2437,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2372,
"final": 4.2372,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4401,
"final": 1.4401,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Grant Taylor |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5158 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1725 |
| Avg Velo | 92.9447 |
| Avg Spin | 2431.2963 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 4 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.3964 |
| Season WHIP | 1.0296 |
| Role Avg IP | 1.3870 |
| Recent Avg IP | 1.6000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0667,
"opponent_offense_edge": -0.068,
"defense_strength": 0.0104,
"opponent_defense_weakness": -0.0907,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9884,
"strikeout": 1.0053
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691799",
"profile": {
"available": true,
"pitcher_id": "691799",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 218.0,
"k_percent": 31.5,
"bb_percent": 8.9,
"woba": 0.26,
"xwoba": 0.267,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 41.2,
"avg_best_speed": 79.5796,
"avg_hyper_speed": 94.1935,
"whiff_percent": 29.4,
"swing_percent": 46.5
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6824,
"command_and_miss": 0.8293,
"regression_edge": -0.2,
"xwoba_edge": 1.2857,
"barrel_edge": -0.0889,
"hard_hit_edge": -0.4714,
"whiff_edge": 0.6,
"bb_edge": 0.075,
"pitch_design_score": 0.1725
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.9447,
"release_spin_rate": 2431.2963,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1725,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2322,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.5158,
"sample_weight": 0.872,
"run_prevention_factor": 0.9562,
"strikeout_factor": 1.0678,
"walk_factor": 0.9948,
"homer_factor": 0.989,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691799",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9618,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9618,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9904,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0591,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 15.0,
"ER": 2,
"H": 5,
"BB": 6,
"SO": 16,
"HR": 1,
"ERA": 1.2,
"WHIP": 0.7333333333333333,
"K9": 9.6,
"HR9": 0.6,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-02T00:00:00"
}{
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.9447,
"release_spin_rate": 2431.2963,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1725,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2322,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.63,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6993,
"prior_weight": 0.3007
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "691799",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.0,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.2,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 1.8,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.625,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.125,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 209.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.6,
"SO": 1.6,
"HR": 0.1,
"BF": 5.4,
"Pitches": 20.9
},
"rates": {
"ERA": 1.2,
"WHIP": 0.7333,
"ER_per_IP": 0.13333,
"H_per_IP": 0.33333,
"BB_per_IP": 0.4,
"SO_per_IP": 1.06667,
"HR_per_IP": 0.06667
}
},
"season": {
"games": 41,
"totals": {
"IP": 56.1,
"ER": 15.0,
"R": 21.0,
"H": 40.0,
"BB": 18.0,
"SO": 76.0,
"HR": 4.0,
"BF": 225.0,
"Pitches": 905.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3659,
"R": 0.5122,
"H": 0.9756,
"BB": 0.439,
"SO": 1.8537,
"HR": 0.0976,
"BF": 5.4878,
"Pitches": 22.0732
},
"rates": {
"ERA": 2.3964,
"WHIP": 1.0296,
"ER_per_IP": 0.26627,
"H_per_IP": 0.71006,
"BB_per_IP": 0.31953,
"SO_per_IP": 1.34911,
"HR_per_IP": 0.07101
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.322,
"predicted_H": 0.912,
"predicted_BB": 0.426,
"predicted_SO": 1.56,
"predicted_HR": 0.102,
"predicted_ERA": 2.0177,
"predicted_WHIP": 0.9305
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.477,
"form_weight": 0.523,
"form_reliability": 0.6993,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.63,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6993,
"prior_weight": 0.3007
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 0.322,
"final": 2.0766,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.912,
"final": 2.3851,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.426,
"final": 0.2228,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.56,
"final": 1.2929,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.102,
"final": 0.5304,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0177,
"final": 2.0177,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9305,
"final": 0.9305,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Bryan Hudson |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4091 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0787 |
| Avg Velo | 88.4591 |
| Avg Spin | 2154.7309 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.6173 |
| Season WHIP | 1.1633 |
| Role Avg IP | 0.9600 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0667,
"opponent_offense_edge": -0.068,
"defense_strength": 0.0104,
"opponent_defense_weakness": -0.0907,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9884,
"strikeout": 1.0053
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663542",
"profile": {
"available": true,
"pitcher_id": "663542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 256.0,
"k_percent": 20.9,
"bb_percent": 6.4,
"woba": 0.304,
"xwoba": 0.277,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 37.0,
"avg_best_speed": 77.039,
"avg_hyper_speed": 93.3019,
"whiff_percent": 23.1,
"swing_percent": 47.9
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6236,
"command_and_miss": -0.0421,
"regression_edge": 0.7714,
"xwoba_edge": 1.0,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.1286,
"whiff_edge": -0.3,
"bb_edge": 0.7,
"pitch_design_score": -0.0787
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.45909611346684,
"release_spin_rate": 2154.7309004103313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.45909611346684,
"release_spin_rate": 2154.7309004103313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.4591,
"release_spin_rate": 2154.7309,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0787,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.562,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4091,
"sample_weight": 1.0,
"run_prevention_factor": 0.9652,
"strikeout_factor": 0.9811,
"walk_factor": 0.944,
"homer_factor": 0.908,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663542",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9652,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9652,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.944,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.908,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9811,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 11,
"BB": 0,
"SO": 7,
"HR": 1,
"ERA": 1.741935483870968,
"WHIP": 1.0645161290322582,
"K9": 6.096774193548388,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-18T00:00:00"
}{
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.45909611346684,
"release_spin_rate": 2154.7309004103313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.45909611346684,
"release_spin_rate": 2154.7309004103313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.4591,
"release_spin_rate": 2154.7309,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0787,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.562,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.488,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7296,
"prior_weight": 0.2704
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663542",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 66,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 3.2,
"Pitches": 11.6
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.3846,
"ER_per_IP": 0.46154,
"H_per_IP": 1.38462,
"BB_per_IP": 0.0,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 129.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.1,
"BB": 0.0,
"SO": 0.7,
"HR": 0.1,
"BF": 3.8,
"Pitches": 12.9
},
"rates": {
"ERA": 1.7419,
"WHIP": 1.0645,
"ER_per_IP": 0.19355,
"H_per_IP": 1.06452,
"BB_per_IP": 0.0,
"SO_per_IP": 0.67742,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 66,
"totals": {
"IP": 65.1,
"ER": 19.0,
"R": 21.0,
"H": 59.0,
"BB": 17.0,
"SO": 59.0,
"HR": 5.0,
"BF": 266.0,
"Pitches": 1003.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2879,
"R": 0.3182,
"H": 0.8939,
"BB": 0.2576,
"SO": 0.8939,
"HR": 0.0758,
"BF": 4.0303,
"Pitches": 15.197
},
"rates": {
"ERA": 2.6173,
"WHIP": 1.1633,
"ER_per_IP": 0.29082,
"H_per_IP": 0.90306,
"BB_per_IP": 0.2602,
"SO_per_IP": 0.90306,
"HR_per_IP": 0.07653
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.382,
"predicted_H": 1.124,
"predicted_BB": 0.141,
"predicted_SO": 0.709,
"predicted_HR": 0.152,
"predicted_ERA": 3.4394,
"predicted_WHIP": 1.2651
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4642,
"form_weight": 0.5358,
"form_reliability": 0.7296,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.488,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7296,
"prior_weight": 0.2704
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.382,
"final": 0.2047,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.124,
"final": 0.6022,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.141,
"final": 0.0755,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.709,
"final": 0.8441,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.152,
"final": 0.0814,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4394,
"final": 3.4394,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2651,
"final": 1.2651,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Sean Newcomb |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0526 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0078 |
| Avg Velo | 89.7243 |
| Avg Spin | 2442.3558 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.7747 |
| Season WHIP | 1.1146 |
| Role Avg IP | 1.5560 |
| Recent Avg IP | 2.2000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0667,
"opponent_offense_edge": -0.068,
"defense_strength": 0.0104,
"opponent_defense_weakness": -0.0907,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9884,
"strikeout": 1.0053
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656794",
"profile": {
"available": true,
"pitcher_id": "656794",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 326.0,
"k_percent": 22.6,
"bb_percent": 9.1,
"woba": 0.285,
"xwoba": 0.317,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7324,
"avg_hyper_speed": 94.0135,
"whiff_percent": 23.9,
"swing_percent": 45.9
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0834,
"command_and_miss": -0.0279,
"regression_edge": -0.9143,
"xwoba_edge": -0.1429,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.1,
"whiff_edge": -0.1857,
"bb_edge": 0.025,
"pitch_design_score": -0.0078
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656794",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 37,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 37,
"pitch_usage": 0.0,
"release_speed": 89.72425840830473,
"release_spin_rate": 2442.3557937668493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 37,
"pitch_usage": 0.0,
"release_speed": 89.72425840830473,
"release_spin_rate": 2442.3557937668493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7243,
"release_spin_rate": 2442.3558,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.056,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0526,
"sample_weight": 1.0,
"run_prevention_factor": 1.0045,
"strikeout_factor": 0.9954,
"walk_factor": 0.998,
"homer_factor": 0.9958,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "656794",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0045,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 1.0045,
"adjusted": 2
},
"predicted_BB": {
"original": 1.0,
"factor": 0.998,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9954,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 20.0,
"ER": 7,
"H": 16,
"BB": 7,
"SO": 18,
"HR": 0,
"ERA": 3.15,
"WHIP": 1.15,
"K9": 8.1,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-12T00:00:00"
}{
"available": true,
"pitcher_id": "656794",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 37,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 37,
"pitch_usage": 0.0,
"release_speed": 89.72425840830473,
"release_spin_rate": 2442.3557937668493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 37,
"pitch_usage": 0.0,
"release_speed": 89.72425840830473,
"release_spin_rate": 2442.3557937668493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7243,
"release_spin_rate": 2442.3558,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.056,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.41,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7769,
"prior_weight": 0.2231
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656794",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 12.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 176.0
},
"per_game": {
"IP": 2.0,
"ER": 1.4,
"R": 1.4,
"H": 2.4,
"BB": 0.6,
"SO": 2.0,
"HR": 0.0,
"BF": 8.6,
"Pitches": 35.2
},
"rates": {
"ERA": 6.75,
"WHIP": 1.6071,
"ER_per_IP": 0.75,
"H_per_IP": 1.28571,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 20.0,
"ER": 7.0,
"R": 7.0,
"H": 16.0,
"BB": 7.0,
"SO": 18.0,
"HR": 0.0,
"BF": 82.0,
"Pitches": 345.0
},
"per_game": {
"IP": 2.0,
"ER": 0.7,
"R": 0.7,
"H": 1.6,
"BB": 0.7,
"SO": 1.8,
"HR": 0.0,
"BF": 8.2,
"Pitches": 34.5
},
"rates": {
"ERA": 3.15,
"WHIP": 1.15,
"ER_per_IP": 0.35,
"H_per_IP": 0.8,
"BB_per_IP": 0.35,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 53,
"totals": {
"IP": 84.1,
"ER": 26.0,
"R": 29.0,
"H": 64.0,
"BB": 30.0,
"SO": 78.0,
"HR": 2.0,
"BF": 343.0,
"Pitches": 1342.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4906,
"R": 0.5472,
"H": 1.2075,
"BB": 0.566,
"SO": 1.4717,
"HR": 0.0377,
"BF": 6.4717,
"Pitches": 25.3208
},
"rates": {
"ERA": 2.7747,
"WHIP": 1.1146,
"ER_per_IP": 0.3083,
"H_per_IP": 0.75889,
"BB_per_IP": 0.35573,
"SO_per_IP": 0.9249,
"HR_per_IP": 0.02372
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 0.897,
"predicted_H": 1.733,
"predicted_BB": 0.6,
"predicted_SO": 1.676,
"predicted_HR": 0.063,
"predicted_ERA": 4.6779,
"predicted_WHIP": 1.3522
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4443,
"form_weight": 0.5557,
"form_reliability": 0.7769,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.41,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7769,
"prior_weight": 0.2231
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.2,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.897,
"final": 0.4985,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.733,
"final": 0.9631,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.6,
"final": 0.3334,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.676,
"final": 0.9314,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.063,
"final": 0.035,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6779,
"final": 4.6779,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3522,
"final": 1.3522,
"source": "form_only"
}
}
}{
"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."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 1.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | 0.812 | 1.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 3.437 | 5.000 | 4.000 | Hitting_AB | 3.632 | 1.000 | 1.368 | 4.000 |
| predicted_AVG | 0.277 | 0.400 | 0.250 | Hitting_AVG | 0.272 | 0.000 | 0.128 | 0.400 |
| predicted_BB | 0.310 | 0.000 | 0.000 | Hitting_BB | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_H | 0.951 | 2.000 | 1.000 | Hitting_H | 0.987 | 0.000 | 1.013 | 2.000 |
| predicted_HR | 0.056 | 0.000 | 0.000 | Hitting_HR | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_OBP | 0.336 | 0.400 | 0.250 | Hitting_OBP | 0.374 | 0.000 | 0.026 | 0.400 |
| predicted_R | 0.585 | 1.000 | 1.000 | Hitting_R | 0.630 | 0.000 | 0.370 | 1.000 |
| predicted_RBI | 0.352 | 3.000 | 0.000 | Hitting_RBI | 0.386 | 0.000 | 2.614 | 3.000 |
| predicted_SLG | 0.395 | 0.600 | 0.250 | Hitting_SLG | 0.396 | 0.000 | 0.204 | 0.600 |
| predicted_SO | 0.585 | 0.000 | 1.000 | Hitting_SO | 0.640 | 0.000 | -0.640 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.3520 -> 3.0000 (boost 2.6480, better) |
| Biggest Deboost | predicted_SO: 0.5850 -> 0.0000 (deboost -0.5850, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3360 -> 0.3614 (boost 0.0254, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3614 -> 0.3434 (deboost -0.0180, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 3.4139 -> 4.0000 (boost 0.5861, better) | predicted_RBI: 0.3695 -> 0.0000 (deboost -0.3695, worse) | AB rounded to 4 (raw=3.44), rates preserved: AVG=0.268 HR/AB=0.014 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5808 -> 1.0000 (boost 0.4192, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_BB: 0.0000 -> 0.3593 (boost 0.3593, better) | predicted_SO: 1.0000 -> 0.8418 (deboost -0.1582, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.8418 -> 1.0000 (boost 0.1582, worse) | predicted_BB: 0.3593 -> 0.0000 (deboost -0.3593, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4056 -> 0.3350 (deboost -0.0706, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3350 -> 0.4056 (boost 0.0706, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "LF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.028,
"predicted_AB": 3.437,
"predicted_AVG": 0.277,
"predicted_BB": 0.31,
"predicted_H": 0.951,
"predicted_HR": 0.056,
"predicted_OBP": 0.336,
"predicted_R": 0.585,
"predicted_RBI": 0.352,
"predicted_SLG": 0.395,
"predicted_SO": 0.585
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2126,
"predicted_3B": 0.0232,
"predicted_AB": 3.4139,
"predicted_AVG": 0.2887,
"predicted_BB": 0.2904,
"predicted_H": 0.9849,
"predicted_HBP": 0.261,
"predicted_HR": 0.0482,
"predicted_OBP": 0.3614,
"predicted_R": 0.5841,
"predicted_RBI": 0.3716,
"predicted_SLG": 0.4064,
"predicted_SO": 0.5432
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.2126,
"delta": 0.0296,
"percent_delta": 0.1617,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0232,
"delta": -0.0048,
"percent_delta": -0.1714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.437,
"after": 3.4139,
"delta": -0.0231,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2887,
"delta": 0.0117,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.2904,
"delta": -0.0196,
"percent_delta": -0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.951,
"after": 0.9849,
"delta": 0.0339,
"percent_delta": 0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0482,
"delta": -0.0078,
"percent_delta": -0.1393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3614,
"delta": 0.0254,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 0.5841,
"delta": -0.0009,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.352,
"after": 0.3716,
"delta": 0.0196,
"percent_delta": 0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.4064,
"delta": 0.0114,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.585,
"after": 0.5432,
"delta": -0.0418,
"percent_delta": -0.0715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3614,
"delta": 0.0254,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 142
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2126,
"predicted_3B": 0.0232,
"predicted_AB": 3.4139,
"predicted_AVG": 0.2874,
"predicted_BB": 0.2911,
"predicted_H": 0.9812,
"predicted_HBP": 0.261,
"predicted_HR": 0.0481,
"predicted_OBP": 0.3434,
"predicted_R": 0.5808,
"predicted_RBI": 0.3695,
"predicted_SLG": 0.4056,
"predicted_SO": 0.5418
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2126,
"after": 0.2126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4139,
"after": 3.4139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2887,
"after": 0.2874,
"delta": -0.0013,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2904,
"after": 0.2911,
"delta": 0.0007,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9849,
"after": 0.9812,
"delta": -0.0037,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.261,
"after": 0.261,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0482,
"after": 0.0481,
"delta": -0.0001,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3614,
"after": 0.3434,
"delta": -0.018,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5841,
"after": 0.5808,
"delta": -0.0033,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3716,
"after": 0.3695,
"delta": -0.0021,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4064,
"after": 0.4056,
"delta": -0.0008,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5432,
"after": 0.5418,
"delta": -0.0014,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3614,
"after": 0.3434,
"delta": -0.018,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.44), rates preserved: AVG=0.268 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2126,
"after": 0.0,
"delta": -0.2126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0,
"delta": -0.0232,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4139,
"after": 4.0,
"delta": 0.5861,
"percent_delta": 0.1717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2911,
"after": 0.0,
"delta": -0.2911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9812,
"after": 1.0,
"delta": 0.0188,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0481,
"after": 0.0,
"delta": -0.0481,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3695,
"after": 0.0,
"delta": -0.3695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5418,
"after": 1.0,
"delta": 0.4582,
"percent_delta": 0.8457,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4139,
"after": 4.0,
"delta": 0.5861,
"percent_delta": 0.1717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3695,
"after": 0.0,
"delta": -0.3695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5808,
"after": 1.0,
"delta": 0.4192,
"percent_delta": 0.7218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5808,
"after": 1.0,
"delta": 0.4192,
"percent_delta": 0.7218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1781,
"predicted_3B": 0.0155,
"predicted_BB": 0.3593,
"predicted_H": 0.8724,
"predicted_HR": 0.07,
"predicted_RBI": 0.3582,
"predicted_SO": 0.8418
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1781,
"delta": 0.1781,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0155,
"delta": 0.0155,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3593,
"delta": 0.3593,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8724,
"delta": -0.1276,
"percent_delta": -0.1276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.07,
"delta": 0.07,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3582,
"delta": 0.3582,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8418,
"delta": -0.1582,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3593,
"delta": 0.3593,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8418,
"delta": -0.1582,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1781,
"after": 0.0,
"delta": -0.1781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0155,
"after": 0.0,
"delta": -0.0155,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3593,
"after": 0.0,
"delta": -0.3593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8724,
"after": 1.0,
"delta": 0.1276,
"percent_delta": 0.1463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3582,
"after": 0.0,
"delta": -0.3582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8418,
"after": 1.0,
"delta": 0.1582,
"percent_delta": 0.1879,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8418,
"after": 1.0,
"delta": 0.1582,
"percent_delta": 0.1879,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3593,
"after": 0.0,
"delta": -0.3593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.226,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.335,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2874,
"after": 0.226,
"delta": -0.0614,
"percent_delta": -0.2136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3434,
"after": 0.298,
"delta": -0.0454,
"percent_delta": -0.1322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4056,
"after": 0.335,
"delta": -0.0706,
"percent_delta": -0.1741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4056,
"after": 0.335,
"delta": -0.0706,
"percent_delta": -0.1741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2874,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3434,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4056,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2874,
"delta": 0.0614,
"percent_delta": 0.2717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3434,
"delta": 0.0454,
"percent_delta": 0.1523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.4056,
"delta": 0.0706,
"percent_delta": 0.2106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.4056,
"delta": 0.0706,
"percent_delta": 0.2106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.437,
"after": 5.0,
"delta": 1.563,
"percent_delta": 0.4548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2874,
"delta": 0.0104,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.951,
"after": 2.0,
"delta": 1.049,
"percent_delta": 1.103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3434,
"delta": 0.0074,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 1.0,
"delta": 0.415,
"percent_delta": 0.7094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.352,
"after": 3.0,
"delta": 2.648,
"percent_delta": 7.5227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.4056,
"delta": 0.0106,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.352,
"after": 3.0,
"delta": 2.648,
"percent_delta": 7.5227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.437 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.951 | - |
| predicted_HR | 0.056 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.585 | - |
| predicted_RBI | 0.352 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.585 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.030 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.414 | -0.023 |
| predicted_AVG | 0.289 | 0.012 |
| predicted_BB | 0.290 | -0.020 |
| predicted_H | 0.985 | 0.034 |
| predicted_HBP | 0.261 | - |
| predicted_HR | 0.048 | -0.008 |
| predicted_OBP | 0.361 | 0.025 |
| predicted_R | 0.584 | -0.001 |
| predicted_RBI | 0.372 | 0.020 |
| predicted_SLG | 0.406 | 0.011 |
| predicted_SO | 0.543 | -0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.414 | 0.000 |
| predicted_AVG | 0.287 | -0.001 |
| predicted_BB | 0.291 | 0.001 |
| predicted_H | 0.981 | -0.004 |
| predicted_HBP | 0.261 | 0.000 |
| predicted_HR | 0.048 | -0.000 |
| predicted_OBP | 0.343 | -0.018 |
| predicted_R | 0.581 | -0.003 |
| predicted_RBI | 0.369 | -0.002 |
| predicted_SLG | 0.406 | -0.001 |
| predicted_SO | 0.542 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.44), rates preserved: AVG=0.268 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.178 | 0.178 |
| 3B | 0.015 | 0.015 |
| BB | 0.359 | 0.359 |
| H | 0.872 | -0.128 |
| HR | 0.070 | 0.070 |
| RBI | 0.358 | 0.358 |
| SO | 0.842 | -0.158 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.178 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.359 |
| H | 1.000 | 0.128 |
| HR | 0.000 | -0.070 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.358 |
| SO | 1.000 | 0.158 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.586 |
| predicted_AVG | 0.226 | -0.061 |
| predicted_BB | 0.000 | -0.291 |
| predicted_H | 1.000 | 0.019 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.298 | -0.045 |
| predicted_R | 1.000 | 0.419 |
| predicted_RBI | 0.000 | -0.369 |
| predicted_SLG | 0.335 | -0.071 |
| predicted_SO | 1.000 | 0.458 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 2.000 | 0.3333 | 0.4444 | 0.4667 | 0.3333 | 0.0000 | 0.1333 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 10 | - | 35.000 | 13.000 | 3.000 | 0.000 | 0.000 | 5.000 | 8.000 | 2.000 | 2.000 | 0.3714 | 0.4390 | 0.4571 | 0.3714 | 0.0000 | 0.1429 | 0.0571 | 0.0571 |
| season | 0.60 | 142 | - | 488.000 | 135.000 | 26.000 | 4.000 | 8.000 | 50.000 | 83.000 | 44.000 | 83.000 | 0.2766 | 0.3706 | 0.3955 | 0.2766 | 0.0164 | 0.1025 | 0.0902 | 0.1701 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2510 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.3840 |
| predicted_AVG | 0.3039 |
| predicted_BB | 0.2650 |
| predicted_H | 1.0290 |
| predicted_HBP | 0.2610 |
| predicted_HR | 0.0380 |
| predicted_OBP | 0.3943 |
| predicted_R | 0.5830 |
| predicted_RBI | 0.3970 |
| predicted_SLG | 0.4213 |
| predicted_SO | 0.4890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.2510 | 0.2126 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0232 | model_form_blend |
| predicted_AB | 3.4370 | 3.3840 | 3.4139 | model_form_blend |
| predicted_AVG | 0.2770 | 0.3039 | 0.2887 | model_form_blend |
| predicted_BB | 0.3100 | 0.2650 | 0.2904 | model_form_blend |
| predicted_H | 0.9510 | 1.0290 | 0.9849 | model_form_blend |
| predicted_HBP | - | 0.2610 | 0.2610 | form_only |
| predicted_HR | 0.0560 | 0.0380 | 0.0482 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3943 | 0.3614 | model_form_blend |
| predicted_R | 0.5850 | 0.5830 | 0.5841 | model_form_blend |
| predicted_RBI | 0.3520 | 0.3970 | 0.3716 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4213 | 0.4064 | model_form_blend |
| predicted_SO | 0.5850 | 0.4890 | 0.5432 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 533 |
| Season rows before report date | 533 |
| Report year | 2026 |
| Profile rows used | 142 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20261003_CHW@CLE |
| game_type | ph |
| mlbID | 803011 |
| note | Flied out for Pham in the 9th. |
| playerID | 803011 |
| playerName | Sam Antonacci |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.345 |
| sl_xwoba | 0.348 |
| sl_xba | 0.284 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 33.6 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 42.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.123 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.585 | 4.000 | 4.000 | Hitting_AB | 3.684 | 4.000 | 0.316 | 0.000 |
| predicted_AVG | 0.208 | 0.000 | 0.250 | Hitting_AVG | 0.211 | 0.500 | -0.211 | -0.500 |
| predicted_BB | 0.715 | 0.000 | 1.000 | Hitting_BB | 0.779 | 0.000 | -0.779 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.746 | 0.000 | 1.000 | Hitting_H | 0.777 | 2.000 | -0.777 | -2.000 |
| predicted_HR | 0.277 | 0.000 | 1.000 | Hitting_HR | 0.293 | 1.000 | -0.293 | -1.000 |
| predicted_OBP | 0.340 | 0.000 | 0.400 | Hitting_OBP | 0.354 | 0.500 | -0.354 | -0.500 |
| predicted_R | 0.654 | 0.000 | 1.000 | Hitting_R | 0.711 | 1.000 | -0.711 | -1.000 |
| predicted_RBI | 0.615 | 0.000 | 1.000 | Hitting_RBI | 0.622 | 2.000 | -0.622 | -2.000 |
| predicted_SLG | 0.479 | 0.000 | 1.000 | Hitting_SLG | 0.489 | 1.250 | -0.489 | -1.250 |
| predicted_SO | 1.562 | 1.000 | 2.000 | Hitting_SO | 1.579 | 2.000 | -0.579 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.5850 -> 4.0000 (boost 0.4150, better) |
| Biggest Deboost | predicted_H: 0.7460 -> 0.0000 (deboost -0.7460, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.5850 -> 3.6581 (boost 0.0731, better) | predicted_BB: 0.7150 -> 0.6510 (deboost -0.0640, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_SO: 1.5806 -> 2.0000 (boost 0.4194, worse) | predicted_HR: 0.2783 -> 0.0000 (deboost -0.2783, worse) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.076 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6707 -> 1.0000 (boost 0.3293, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 2 | 4 | 3 | 3 | predicted_HR: 0.0000 -> 0.2187 (boost 0.2187, better) | predicted_RBI: 1.0000 -> 0.5266 (deboost -0.4734, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 5 | 1 | 4 | 2 | predicted_HR: 0.2187 -> 1.0000 (boost 0.7813, better) | predicted_2B: 0.1515 -> 0.0000 (deboost -0.1515, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4220 -> 0.4805 (boost 0.0585, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.008,
"predicted_AB": 3.585,
"predicted_AVG": 0.208,
"predicted_BB": 0.715,
"predicted_H": 0.746,
"predicted_HR": 0.277,
"predicted_OBP": 0.34,
"predicted_R": 0.654,
"predicted_RBI": 0.615,
"predicted_SLG": 0.479,
"predicted_SO": 1.562
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1365,
"predicted_3B": 0.0067,
"predicted_AB": 3.6581,
"predicted_AVG": 0.212,
"predicted_BB": 0.651,
"predicted_H": 0.776,
"predicted_HBP": 0.067,
"predicted_HR": 0.2787,
"predicted_OBP": 0.3329,
"predicted_R": 0.6745,
"predicted_RBI": 0.6516,
"predicted_SLG": 0.4818,
"predicted_SO": 1.5846
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.1365,
"delta": 0.0135,
"percent_delta": 0.1098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0067,
"delta": -0.0013,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.585,
"after": 3.6581,
"delta": 0.0731,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.212,
"delta": 0.004,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.715,
"after": 0.651,
"delta": -0.064,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.746,
"after": 0.776,
"delta": 0.03,
"percent_delta": 0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.277,
"after": 0.2787,
"delta": 0.0017,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3329,
"delta": -0.0071,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.654,
"after": 0.6745,
"delta": 0.0205,
"percent_delta": 0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.615,
"after": 0.6516,
"delta": 0.0366,
"percent_delta": 0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.479,
"after": 0.4818,
"delta": 0.0028,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.562,
"after": 1.5846,
"delta": 0.0226,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.585,
"after": 3.6581,
"delta": 0.0731,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.715,
"after": 0.651,
"delta": -0.064,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 130
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1365,
"predicted_3B": 0.0067,
"predicted_AB": 3.6581,
"predicted_AVG": 0.2113,
"predicted_BB": 0.6526,
"predicted_H": 0.7731,
"predicted_HBP": 0.067,
"predicted_HR": 0.2783,
"predicted_OBP": 0.3307,
"predicted_R": 0.6707,
"predicted_RBI": 0.6479,
"predicted_SLG": 0.4805,
"predicted_SO": 1.5806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1365,
"after": 0.1365,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6581,
"after": 3.6581,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2113,
"delta": -0.0007,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.651,
"after": 0.6526,
"delta": 0.0016,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.776,
"after": 0.7731,
"delta": -0.0029,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2787,
"after": 0.2783,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3329,
"after": 0.3307,
"delta": -0.0022,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6745,
"after": 0.6707,
"delta": -0.0038,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6516,
"after": 0.6479,
"delta": -0.0037,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4818,
"after": 0.4805,
"delta": -0.0013,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5846,
"after": 1.5806,
"delta": -0.004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.076",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1365,
"after": 0.0,
"delta": -0.1365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0,
"delta": -0.0067,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6581,
"after": 4.0,
"delta": 0.3419,
"percent_delta": 0.0935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6526,
"after": 1.0,
"delta": 0.3474,
"percent_delta": 0.5323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7731,
"after": 1.0,
"delta": 0.2269,
"percent_delta": 0.2935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2783,
"after": 0.0,
"delta": -0.2783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6479,
"after": 1.0,
"delta": 0.3521,
"percent_delta": 0.5434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5806,
"after": 2.0,
"delta": 0.4194,
"percent_delta": 0.2653,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5806,
"after": 2.0,
"delta": 0.4194,
"percent_delta": 0.2653,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2783,
"after": 0.0,
"delta": -0.2783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6707,
"after": 1.0,
"delta": 0.3293,
"percent_delta": 0.491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6707,
"after": 1.0,
"delta": 0.3293,
"percent_delta": 0.491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1515,
"predicted_3B": 0.0092,
"predicted_BB": 0.6562,
"predicted_H": 0.7513,
"predicted_HR": 0.2187,
"predicted_RBI": 0.5266,
"predicted_SO": 1.8731
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1515,
"delta": 0.1515,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0092,
"delta": 0.0092,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.6562,
"delta": -0.3438,
"percent_delta": -0.3438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7513,
"delta": -0.2487,
"percent_delta": -0.2487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2187,
"delta": 0.2187,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5266,
"delta": -0.4734,
"percent_delta": -0.4734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.8731,
"delta": -0.1269,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2187,
"delta": 0.2187,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5266,
"delta": -0.4734,
"percent_delta": -0.4734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1515,
"after": 0.0,
"delta": -0.1515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0092,
"after": 0.0,
"delta": -0.0092,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6562,
"after": 1.0,
"delta": 0.3438,
"percent_delta": 0.5239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7513,
"after": 1.0,
"delta": 0.2487,
"percent_delta": 0.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2187,
"after": 1.0,
"delta": 0.7813,
"percent_delta": 3.5725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5266,
"after": 1.0,
"delta": 0.4734,
"percent_delta": 0.899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8731,
"after": 2.0,
"delta": 0.1269,
"percent_delta": 0.0677,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.2187,
"after": 1.0,
"delta": 0.7813,
"percent_delta": 3.5725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1515,
"after": 0.0,
"delta": -0.1515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.201,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.422,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2113,
"after": 0.201,
"delta": -0.0103,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3307,
"after": 0.325,
"delta": -0.0057,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4805,
"after": 0.422,
"delta": -0.0585,
"percent_delta": -0.1217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2113,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3307,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4805,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.2113,
"delta": 0.0103,
"percent_delta": 0.0514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3307,
"delta": 0.0057,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4805,
"delta": 0.0585,
"percent_delta": 0.1387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4805,
"delta": 0.0585,
"percent_delta": 0.1387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.585,
"after": 4.0,
"delta": 0.415,
"percent_delta": 0.1158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.2113,
"delta": 0.0033,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.715,
"after": 0.0,
"delta": -0.715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.746,
"after": 0.0,
"delta": -0.746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.277,
"after": 0.0,
"delta": -0.277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3307,
"delta": -0.0093,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.654,
"after": 0.0,
"delta": -0.654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.615,
"after": 0.0,
"delta": -0.615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.479,
"after": 0.4805,
"delta": 0.0015,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.562,
"after": 1.0,
"delta": -0.562,
"percent_delta": -0.3598,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.585,
"after": 4.0,
"delta": 0.415,
"percent_delta": 0.1158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.746,
"after": 0.0,
"delta": -0.746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.585 | - |
| predicted_AVG | 0.208 | - |
| predicted_BB | 0.715 | - |
| predicted_H | 0.746 | - |
| predicted_HR | 0.277 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.654 | - |
| predicted_RBI | 0.615 | - |
| predicted_SLG | 0.479 | - |
| predicted_SO | 1.562 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | 0.014 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.658 | 0.073 |
| predicted_AVG | 0.212 | 0.004 |
| predicted_BB | 0.651 | -0.064 |
| predicted_H | 0.776 | 0.030 |
| predicted_HBP | 0.067 | - |
| predicted_HR | 0.279 | 0.002 |
| predicted_OBP | 0.333 | -0.007 |
| predicted_R | 0.674 | 0.020 |
| predicted_RBI | 0.652 | 0.037 |
| predicted_SLG | 0.482 | 0.003 |
| predicted_SO | 1.585 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.658 | 0.000 |
| predicted_AVG | 0.211 | -0.001 |
| predicted_BB | 0.653 | 0.002 |
| predicted_H | 0.773 | -0.003 |
| predicted_HBP | 0.067 | 0.000 |
| predicted_HR | 0.278 | -0.000 |
| predicted_OBP | 0.331 | -0.002 |
| predicted_R | 0.671 | -0.004 |
| predicted_RBI | 0.648 | -0.004 |
| predicted_SLG | 0.480 | -0.001 |
| predicted_SO | 1.581 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.076
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.151 | 0.151 |
| 3B | 0.009 | 0.009 |
| BB | 0.656 | -0.344 |
| H | 0.751 | -0.249 |
| HR | 0.219 | 0.219 |
| RBI | 0.527 | -0.473 |
| SO | 1.873 | -0.127 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.151 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.344 |
| H | 1.000 | 0.249 |
| HR | 1.000 | 0.781 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.473 |
| SO | 2.000 | 0.127 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.137 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.342 |
| predicted_AVG | 0.201 | -0.010 |
| predicted_BB | 1.000 | 0.347 |
| predicted_H | 1.000 | 0.227 |
| predicted_HR | 0.000 | -0.278 |
| predicted_OBP | 0.325 | -0.006 |
| predicted_R | 1.000 | 0.329 |
| predicted_RBI | 1.000 | 0.352 |
| predicted_SLG | 0.422 | -0.058 |
| predicted_SO | 2.000 | 0.419 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 10.000 | 0.1905 | 0.2174 | 0.3810 | 0.1905 | 0.0476 | 0.1429 | 0.0476 | 0.4762 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 2.000 | 0.000 | 4.000 | 11.000 | 8.000 | 5.000 | 16.000 | 0.2632 | 0.3696 | 0.6316 | 0.2632 | 0.1053 | 0.2895 | 0.1316 | 0.4210 |
| season | 0.60 | 130 | - | 466.000 | 97.000 | 16.000 | 1.000 | 36.000 | 80.000 | 85.000 | 93.000 | 203.000 | 0.2082 | 0.3457 | 0.4785 | 0.2082 | 0.0772 | 0.1717 | 0.1996 | 0.4356 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7530 |
| predicted_AVG | 0.2173 |
| predicted_BB | 0.5680 |
| predicted_H | 0.8150 |
| predicted_HBP | 0.0670 |
| predicted_HR | 0.2810 |
| predicted_OBP | 0.3238 |
| predicted_R | 0.7010 |
| predicted_RBI | 0.6990 |
| predicted_SLG | 0.4855 |
| predicted_SO | 1.6140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.1540 | 0.1365 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.5850 | 3.7530 | 3.6581 | model_form_blend |
| predicted_AVG | 0.2080 | 0.2173 | 0.2120 | model_form_blend |
| predicted_BB | 0.7150 | 0.5680 | 0.6510 | model_form_blend |
| predicted_H | 0.7460 | 0.8150 | 0.7760 | model_form_blend |
| predicted_HBP | - | 0.0670 | 0.0670 | form_only |
| predicted_HR | 0.2770 | 0.2810 | 0.2787 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3238 | 0.3329 | model_form_blend |
| predicted_R | 0.6540 | 0.7010 | 0.6745 | model_form_blend |
| predicted_RBI | 0.6150 | 0.6990 | 0.6516 | model_form_blend |
| predicted_SLG | 0.4790 | 0.4855 | 0.4818 | model_form_blend |
| predicted_SO | 1.5620 | 1.6140 | 1.5846 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 516 |
| Season rows before report date | 516 |
| Report year | 2026 |
| Profile rows used | 130 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 808959 |
| playerID | 808959 |
| playerName | Munetaka Murakami |
| pos | IF |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 16.6 |
| sl_woba | 0.356 |
| sl_xwoba | 0.351 |
| sl_xba | 0.204 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 20.5 |
| sl_hard_hit_percent | 56.8 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 42.3 |
| sl_swing_percent | 40.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.193 | 0.000 | 0.000 | Hitting_2B | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.720 | 3.000 | 4.000 | Hitting_AB | 3.813 | 2.000 | -0.813 | 1.000 |
| predicted_AVG | 0.232 | 0.667 | 0.250 | Hitting_AVG | 0.252 | 0.500 | 0.415 | 0.167 |
| predicted_BB | 0.640 | 1.000 | 1.000 | Hitting_BB | 0.641 | 2.000 | 0.359 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.780 | 2.000 | 1.000 | Hitting_H | 0.961 | 1.000 | 1.039 | 1.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.217 | 0.000 | 0.783 | 1.000 |
| predicted_OBP | 0.359 | 0.750 | 0.400 | Hitting_OBP | 0.364 | 0.750 | 0.386 | 0.000 |
| predicted_R | 0.671 | 1.000 | 1.000 | Hitting_R | 0.709 | 1.000 | 0.291 | 0.000 |
| predicted_RBI | 0.490 | 1.000 | 1.000 | Hitting_RBI | 0.588 | 0.000 | 0.412 | 1.000 |
| predicted_SLG | 0.398 | 1.667 | 0.250 | Hitting_SLG | 0.481 | 0.500 | 1.186 | 1.167 |
| predicted_SO | 0.801 | 0.000 | 1.000 | Hitting_SO | 0.813 | 0.000 | -0.813 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7800 -> 2.0000 (boost 1.2200, better) |
| Biggest Deboost | predicted_SO: 0.8010 -> 0.0000 (deboost -0.8010, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.6400 -> 0.7469 (boost 0.1069, better) | predicted_AB: 3.7200 -> 3.6424 (deboost -0.0776, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3594 -> 0.3421 (deboost -0.0173, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.6424 -> 4.0000 (boost 0.3576, better) | predicted_RBI: 0.4920 -> 0.0000 (deboost -0.4920, worse) | AB rounded to 4 (raw=3.72), rates preserved: AVG=0.190 HR/AB=0.040 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6981 -> 1.0000 (boost 0.3019, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.0000 -> 0.5335 (boost 0.5335, better) | predicted_BB: 1.0000 -> 0.5483 (deboost -0.4517, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.5335 -> 1.0000 (boost 0.4665, better) | predicted_HR: 0.1601 -> 0.0000 (deboost -0.1601, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 2 | 2 | 2 | 2 | predicted_SLG: 0.3766 -> 0.4070 (boost 0.0304, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3350 -> 0.3421 (boost 0.0071, better) | predicted_SLG: 0.4070 -> 0.3766 (deboost -0.0304, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.006,
"predicted_AB": 3.72,
"predicted_AVG": 0.232,
"predicted_BB": 0.64,
"predicted_H": 0.78,
"predicted_HR": 0.16,
"predicted_OBP": 0.359,
"predicted_R": 0.671,
"predicted_RBI": 0.49,
"predicted_SLG": 0.398,
"predicted_SO": 0.801
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1575,
"predicted_3B": 0.0051,
"predicted_AB": 3.6424,
"predicted_AVG": 0.2202,
"predicted_BB": 0.7469,
"predicted_H": 0.7563,
"predicted_HBP": 0.025,
"predicted_HR": 0.1504,
"predicted_OBP": 0.3594,
"predicted_R": 0.7021,
"predicted_RBI": 0.4948,
"predicted_SLG": 0.3795,
"predicted_SO": 0.8032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.1575,
"delta": -0.0355,
"percent_delta": -0.1839,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0051,
"delta": -0.0009,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.72,
"after": 3.6424,
"delta": -0.0776,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2202,
"delta": -0.0118,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.64,
"after": 0.7469,
"delta": 0.1069,
"percent_delta": 0.167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7563,
"delta": -0.0237,
"percent_delta": -0.0304,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1504,
"delta": -0.0096,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3594,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 0.7021,
"delta": 0.0311,
"percent_delta": 0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4948,
"delta": 0.0048,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3795,
"delta": -0.0185,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.801,
"after": 0.8032,
"delta": 0.0022,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.64,
"after": 0.7469,
"delta": 0.1069,
"percent_delta": 0.167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.72,
"after": 3.6424,
"delta": -0.0776,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 161
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1575,
"predicted_3B": 0.0051,
"predicted_AB": 3.6424,
"predicted_AVG": 0.2068,
"predicted_BB": 0.7488,
"predicted_H": 0.7534,
"predicted_HBP": 0.025,
"predicted_HR": 0.1502,
"predicted_OBP": 0.3421,
"predicted_R": 0.6981,
"predicted_RBI": 0.492,
"predicted_SLG": 0.3766,
"predicted_SO": 0.8012
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1575,
"after": 0.1575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6424,
"after": 3.6424,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2202,
"after": 0.2068,
"delta": -0.0134,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7469,
"after": 0.7488,
"delta": 0.0019,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7563,
"after": 0.7534,
"delta": -0.0029,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1504,
"after": 0.1502,
"delta": -0.0002,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3594,
"after": 0.3421,
"delta": -0.0173,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7021,
"after": 0.6981,
"delta": -0.004,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4948,
"after": 0.492,
"delta": -0.0028,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3795,
"after": 0.3766,
"delta": -0.0029,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8032,
"after": 0.8012,
"delta": -0.002,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3594,
"after": 0.3421,
"delta": -0.0173,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.72), rates preserved: AVG=0.190 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1575,
"after": 0.0,
"delta": -0.1575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0,
"delta": -0.0051,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6424,
"after": 4.0,
"delta": 0.3576,
"percent_delta": 0.0982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7488,
"after": 1.0,
"delta": 0.2512,
"percent_delta": 0.3355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7534,
"after": 1.0,
"delta": 0.2466,
"percent_delta": 0.3273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1502,
"after": 0.0,
"delta": -0.1502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8012,
"after": 1.0,
"delta": 0.1988,
"percent_delta": 0.2481,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6424,
"after": 4.0,
"delta": 0.3576,
"percent_delta": 0.0982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6981,
"after": 1.0,
"delta": 0.3019,
"percent_delta": 0.4325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6981,
"after": 1.0,
"delta": 0.3019,
"percent_delta": 0.4325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1568,
"predicted_3B": 0.0077,
"predicted_BB": 0.5483,
"predicted_H": 0.8617,
"predicted_HR": 0.1601,
"predicted_RBI": 0.5335,
"predicted_SO": 0.9919
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1568,
"delta": 0.1568,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0077,
"delta": 0.0077,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5483,
"delta": -0.4517,
"percent_delta": -0.4517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8617,
"delta": -0.1383,
"percent_delta": -0.1383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1601,
"delta": 0.1601,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5335,
"delta": 0.5335,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9919,
"delta": -0.0081,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5335,
"delta": 0.5335,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5483,
"delta": -0.4517,
"percent_delta": -0.4517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1568,
"after": 0.0,
"delta": -0.1568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0,
"delta": -0.0077,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5483,
"after": 1.0,
"delta": 0.4517,
"percent_delta": 0.8238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8617,
"after": 1.0,
"delta": 0.1383,
"percent_delta": 0.1605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1601,
"after": 0.0,
"delta": -0.1601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9919,
"after": 1.0,
"delta": 0.0081,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1601,
"after": 0.0,
"delta": -0.1601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.232,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.335,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.407,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2068,
"after": 0.232,
"delta": 0.0252,
"percent_delta": 0.1219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3421,
"after": 0.335,
"delta": -0.0071,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3766,
"after": 0.407,
"delta": 0.0304,
"percent_delta": 0.0807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3766,
"after": 0.407,
"delta": 0.0304,
"percent_delta": 0.0807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2068,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3421,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3766,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2068,
"delta": -0.0252,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3421,
"delta": 0.0071,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3766,
"delta": -0.0304,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3421,
"delta": 0.0071,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3766,
"delta": -0.0304,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.72,
"after": 3.0,
"delta": -0.72,
"percent_delta": -0.1935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2068,
"delta": -0.0252,
"percent_delta": -0.1086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3421,
"delta": -0.0169,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 1.0,
"delta": 0.329,
"percent_delta": 0.4903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3766,
"delta": -0.0214,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.801,
"after": 0.0,
"delta": -0.801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.801,
"after": 0.0,
"delta": -0.801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 3.720 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.640 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.671 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 0.801 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.158 | -0.036 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.642 | -0.078 |
| predicted_AVG | 0.220 | -0.012 |
| predicted_BB | 0.747 | 0.107 |
| predicted_H | 0.756 | -0.024 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.150 | -0.010 |
| predicted_OBP | 0.359 | 0.000 |
| predicted_R | 0.702 | 0.031 |
| predicted_RBI | 0.495 | 0.005 |
| predicted_SLG | 0.380 | -0.019 |
| predicted_SO | 0.803 | 0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.158 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.642 | 0.000 |
| predicted_AVG | 0.207 | -0.013 |
| predicted_BB | 0.749 | 0.002 |
| predicted_H | 0.753 | -0.003 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.150 | -0.000 |
| predicted_OBP | 0.342 | -0.017 |
| predicted_R | 0.698 | -0.004 |
| predicted_RBI | 0.492 | -0.003 |
| predicted_SLG | 0.377 | -0.003 |
| predicted_SO | 0.801 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.72), rates preserved: AVG=0.190 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.157 | 0.157 |
| 3B | 0.008 | 0.008 |
| BB | 0.548 | -0.452 |
| H | 0.862 | -0.138 |
| HR | 0.160 | 0.160 |
| RBI | 0.533 | 0.533 |
| SO | 0.992 | -0.008 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.157 |
| 3B | 0.000 | -0.008 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.452 |
| H | 1.000 | 0.138 |
| HR | 0.000 | -0.160 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.467 |
| SO | 1.000 | 0.008 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.158 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | 0.358 |
| predicted_AVG | 0.232 | 0.025 |
| predicted_BB | 1.000 | 0.251 |
| predicted_H | 1.000 | 0.247 |
| predicted_HR | 0.000 | -0.150 |
| predicted_OBP | 0.335 | -0.007 |
| predicted_R | 1.000 | 0.302 |
| predicted_RBI | 0.000 | -0.492 |
| predicted_SLG | 0.407 | 0.030 |
| predicted_SO | 1.000 | 0.199 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 4.000 | 0.0625 | 0.3043 | 0.0625 | 0.0625 | 0.0000 | 0.0625 | 0.3750 | 0.2500 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 1.000 | 6.000 | 9.000 | 13.000 | 8.000 | 0.2121 | 0.4255 | 0.3030 | 0.2121 | 0.0303 | 0.1818 | 0.3939 | 0.2424 |
| season | 0.60 | 161 | - | 599.000 | 148.000 | 31.000 | 1.000 | 33.000 | 93.000 | 108.000 | 103.000 | 129.000 | 0.2471 | 0.3603 | 0.4674 | 0.2471 | 0.0551 | 0.1553 | 0.1719 | 0.2154 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.5430 |
| predicted_AVG | 0.2050 |
| predicted_BB | 0.8840 |
| predicted_H | 0.7260 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1380 |
| predicted_OBP | 0.3599 |
| predicted_R | 0.7420 |
| predicted_RBI | 0.5010 |
| predicted_SLG | 0.3557 |
| predicted_SO | 0.8060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.1120 | 0.1575 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 3.7200 | 3.5430 | 3.6424 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2050 | 0.2202 | model_form_blend |
| predicted_BB | 0.6400 | 0.8840 | 0.7469 | model_form_blend |
| predicted_H | 0.7800 | 0.7260 | 0.7563 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1600 | 0.1380 | 0.1504 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3599 | 0.3594 | model_form_blend |
| predicted_R | 0.6710 | 0.7420 | 0.7021 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5010 | 0.4948 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3557 | 0.3795 | model_form_blend |
| predicted_SO | 0.8010 | 0.8060 | 0.8032 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 674 |
| Season rows before report date | 674 |
| Report year | 2026 |
| Profile rows used | 161 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.363 |
| sl_xwoba | 0.378 |
| sl_xba | 0.263 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 1.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | 0.839 | 1.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.516 | 4.000 | 3.000 | Hitting_AB | 3.644 | 3.000 | 0.356 | 1.000 |
| predicted_AVG | 0.225 | 0.500 | 0.333 | Hitting_AVG | 0.216 | 0.000 | 0.284 | 0.500 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.789 | 2.000 | 1.000 | Hitting_H | 0.787 | 0.000 | 1.213 | 2.000 |
| predicted_HR | 0.063 | 0.000 | 0.000 | Hitting_HR | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_OBP | 0.304 | 0.500 | 0.500 | Hitting_OBP | 0.312 | 0.000 | 0.188 | 0.500 |
| predicted_R | 0.495 | 1.000 | 0.000 | Hitting_R | 0.552 | 0.000 | 0.448 | 1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_SLG | 0.344 | 0.750 | 0.333 | Hitting_SLG | 0.344 | 0.000 | 0.406 | 0.750 |
| predicted_SO | 0.800 | 0.000 | 1.000 | Hitting_SO | 0.828 | 1.000 | -0.828 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7890 -> 2.0000 (boost 1.2110, better) |
| Biggest Deboost | predicted_SO: 0.8000 -> 0.0000 (deboost -0.8000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2250 -> 0.2334 (boost 0.0084, better) | predicted_BB: 0.4000 -> 0.3310 (deboost -0.0690, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.8100 -> 1.0000 (boost 0.1900, worse) | predicted_AB: 3.5066 -> 3.0000 (deboost -0.5066, worse) | AB rounded to 3 (raw=3.52), rates preserved: AVG=0.217 HR/AB=0.016 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4752 -> 0.0000 (deboost -0.4752, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_BB: 0.0000 -> 0.3886 (boost 0.3886, better) | predicted_H: 1.0000 -> 0.7471 (deboost -0.2529, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 2 | 3 | 2 | 3 | predicted_BB: 0.3886 -> 1.0000 (boost 0.6114, better) | predicted_RBI: 0.3771 -> 0.0000 (deboost -0.3771, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2986 -> 0.3050 (boost 0.0064, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2190 -> 0.2322 (boost 0.0132, better) | predicted_OBP: 0.3050 -> 0.2986 (deboost -0.0064, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695731",
"player_name": "Braden Montgomery",
"position": "RF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.032,
"predicted_AB": 3.516,
"predicted_AVG": 0.225,
"predicted_BB": 0.4,
"predicted_H": 0.789,
"predicted_HR": 0.063,
"predicted_OBP": 0.304,
"predicted_R": 0.495,
"predicted_RBI": 0.4,
"predicted_SLG": 0.344,
"predicted_SO": 0.8
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1564,
"predicted_3B": 0.026,
"predicted_AB": 3.5066,
"predicted_AVG": 0.2334,
"predicted_BB": 0.331,
"predicted_H": 0.8173,
"predicted_HBP": 0.02,
"predicted_HR": 0.0549,
"predicted_OBP": 0.3004,
"predicted_R": 0.4779,
"predicted_RBI": 0.3452,
"predicted_SLG": 0.3394,
"predicted_SO": 0.812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.1564,
"delta": -0.0116,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.026,
"delta": -0.006,
"percent_delta": -0.1875,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.516,
"after": 3.5066,
"delta": -0.0094,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2334,
"delta": 0.0084,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.331,
"delta": -0.069,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.789,
"after": 0.8173,
"delta": 0.0283,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.063,
"after": 0.0549,
"delta": -0.0081,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3004,
"delta": -0.0036,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.4779,
"delta": -0.0171,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3452,
"delta": -0.0548,
"percent_delta": -0.137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3394,
"delta": -0.0046,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 0.812,
"delta": 0.012,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2334,
"delta": 0.0084,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4,
"after": 0.331,
"delta": -0.069,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 95
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1564,
"predicted_3B": 0.026,
"predicted_AB": 3.5066,
"predicted_AVG": 0.2322,
"predicted_BB": 0.3318,
"predicted_H": 0.8142,
"predicted_HBP": 0.02,
"predicted_HR": 0.0548,
"predicted_OBP": 0.2986,
"predicted_R": 0.4752,
"predicted_RBI": 0.3432,
"predicted_SLG": 0.3385,
"predicted_SO": 0.81
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1564,
"after": 0.1564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5066,
"after": 3.5066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2334,
"after": 0.2322,
"delta": -0.0012,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.3318,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8173,
"after": 0.8142,
"delta": -0.0031,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0549,
"after": 0.0548,
"delta": -0.0001,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3004,
"after": 0.2986,
"delta": -0.0018,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4779,
"after": 0.4752,
"delta": -0.0027,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3452,
"after": 0.3432,
"delta": -0.002,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3394,
"after": 0.3385,
"delta": -0.0009,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.81,
"delta": -0.002,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.52), rates preserved: AVG=0.217 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1564,
"after": 0.0,
"delta": -0.1564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5066,
"after": 3.0,
"delta": -0.5066,
"percent_delta": -0.1445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3318,
"after": 0.0,
"delta": -0.3318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8142,
"after": 1.0,
"delta": 0.1858,
"percent_delta": 0.2282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0548,
"after": 0.0,
"delta": -0.0548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3432,
"after": 0.0,
"delta": -0.3432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5066,
"after": 3.0,
"delta": -0.5066,
"percent_delta": -0.1445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4752,
"after": 0.0,
"delta": -0.4752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4752,
"after": 0.0,
"delta": -0.4752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1785,
"predicted_3B": 0.0138,
"predicted_BB": 0.3886,
"predicted_H": 0.7471,
"predicted_HR": 0.0713,
"predicted_RBI": 0.3771,
"predicted_SO": 0.9952
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1785,
"delta": 0.1785,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0138,
"delta": 0.0138,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3886,
"delta": 0.3886,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7471,
"delta": -0.2529,
"percent_delta": -0.2529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0713,
"delta": 0.0713,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3771,
"delta": 0.3771,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9952,
"delta": -0.0048,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3886,
"delta": 0.3886,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7471,
"delta": -0.2529,
"percent_delta": -0.2529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1785,
"after": 0.0,
"delta": -0.1785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0138,
"after": 0.0,
"delta": -0.0138,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3886,
"after": 1.0,
"delta": 0.6114,
"percent_delta": 1.5733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7471,
"after": 1.0,
"delta": 0.2529,
"percent_delta": 0.3385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0713,
"after": 0.0,
"delta": -0.0713,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3771,
"after": 0.0,
"delta": -0.3771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9952,
"after": 1.0,
"delta": 0.0048,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3886,
"after": 1.0,
"delta": 0.6114,
"percent_delta": 1.5733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3771,
"after": 0.0,
"delta": -0.3771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.219,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.305,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.343,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2322,
"after": 0.219,
"delta": -0.0132,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2986,
"after": 0.305,
"delta": 0.0064,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3385,
"after": 0.343,
"delta": 0.0045,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2986,
"after": 0.305,
"delta": 0.0064,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2322,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2986,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3385,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2322,
"delta": 0.0132,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2986,
"delta": -0.0064,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3385,
"delta": -0.0045,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2322,
"delta": 0.0132,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2986,
"delta": -0.0064,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 1.0,
"delta": 0.832,
"percent_delta": 4.9524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.516,
"after": 4.0,
"delta": 0.484,
"percent_delta": 0.1377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2322,
"delta": 0.0072,
"percent_delta": 0.032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.789,
"after": 2.0,
"delta": 1.211,
"percent_delta": 1.5349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2986,
"delta": -0.0054,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3385,
"delta": -0.0055,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.789,
"after": 2.0,
"delta": 1.211,
"percent_delta": 1.5349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.516 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.789 | - |
| predicted_HR | 0.063 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.344 | - |
| predicted_SO | 0.800 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | -0.012 |
| predicted_3B | 0.026 | -0.006 |
| predicted_AB | 3.507 | -0.009 |
| predicted_AVG | 0.233 | 0.008 |
| predicted_BB | 0.331 | -0.069 |
| predicted_H | 0.817 | 0.028 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.055 | -0.008 |
| predicted_OBP | 0.300 | -0.004 |
| predicted_R | 0.478 | -0.017 |
| predicted_RBI | 0.345 | -0.055 |
| predicted_SLG | 0.339 | -0.005 |
| predicted_SO | 0.812 | 0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.507 | 0.000 |
| predicted_AVG | 0.232 | -0.001 |
| predicted_BB | 0.332 | 0.001 |
| predicted_H | 0.814 | -0.003 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.055 | -0.000 |
| predicted_OBP | 0.299 | -0.002 |
| predicted_R | 0.475 | -0.003 |
| predicted_RBI | 0.343 | -0.002 |
| predicted_SLG | 0.339 | -0.001 |
| predicted_SO | 0.810 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.52), rates preserved: AVG=0.217 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.178 | 0.178 |
| 3B | 0.014 | 0.014 |
| BB | 0.389 | 0.389 |
| H | 0.747 | -0.253 |
| HR | 0.071 | 0.071 |
| RBI | 0.377 | 0.377 |
| SO | 0.995 | -0.005 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.178 |
| 3B | 0.000 | -0.014 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.611 |
| H | 1.000 | 0.253 |
| HR | 0.000 | -0.071 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.377 |
| SO | 1.000 | 0.005 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.156 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | -0.507 |
| predicted_AVG | 0.219 | -0.013 |
| predicted_BB | 0.000 | -0.332 |
| predicted_H | 1.000 | 0.186 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.305 | 0.006 |
| predicted_R | 0.000 | -0.475 |
| predicted_RBI | 0.000 | -0.343 |
| predicted_SLG | 0.343 | 0.005 |
| predicted_SO | 1.000 | 0.190 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 0.1875 | 0.1875 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 36.000 | 13.000 | 2.000 | 0.000 | 0.000 | 1.000 | 6.000 | 0.000 | 7.000 | 0.3611 | 0.3611 | 0.4167 | 0.3611 | 0.0000 | 0.0278 | 0.0000 | 0.1944 |
| season | 0.60 | 95 | - | 334.000 | 75.000 | 16.000 | 3.000 | 6.000 | 38.000 | 47.000 | 38.000 | 76.000 | 0.2246 | 0.3085 | 0.3443 | 0.2245 | 0.0180 | 0.1138 | 0.1138 | 0.2275 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.4940 |
| predicted_AVG | 0.2447 |
| predicted_BB | 0.2390 |
| predicted_H | 0.8550 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.2956 |
| predicted_R | 0.4550 |
| predicted_RBI | 0.2720 |
| predicted_SLG | 0.3333 |
| predicted_SO | 0.8280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.1410 | 0.1564 | model_form_blend |
| predicted_3B | 0.0320 | 0.0180 | 0.0260 | model_form_blend |
| predicted_AB | 3.5160 | 3.4940 | 3.5066 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2447 | 0.2334 | model_form_blend |
| predicted_BB | 0.4000 | 0.2390 | 0.3310 | model_form_blend |
| predicted_H | 0.7890 | 0.8550 | 0.8173 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0630 | 0.0440 | 0.0549 | model_form_blend |
| predicted_OBP | 0.3040 | 0.2956 | 0.3004 | model_form_blend |
| predicted_R | 0.4950 | 0.4550 | 0.4779 | model_form_blend |
| predicted_RBI | 0.4000 | 0.2720 | 0.3452 | model_form_blend |
| predicted_SLG | 0.3440 | 0.3333 | 0.3394 | model_form_blend |
| predicted_SO | 0.8000 | 0.8280 | 0.8120 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 348 |
| Season rows before report date | 348 |
| Report year | 2026 |
| Profile rows used | 95 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 695731 |
| playerID | 695731 |
| playerName | Braden Montgomery |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.298 |
| sl_xwoba | 0.325 |
| sl_xba | 0.255 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 3.0 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 1.000 | 0.000 | Hitting_2B | 0.220 | 0.000 | 0.780 | 1.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.965 | 4.000 | 3.000 | Hitting_AB | 3.447 | 2.000 | 0.553 | 2.000 |
| predicted_AVG | 0.230 | 0.250 | 0.000 | Hitting_AVG | 0.262 | 0.500 | -0.012 | -0.250 |
| predicted_BB | 0.287 | 0.000 | 0.000 | Hitting_BB | 0.322 | 1.000 | -0.322 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.510 | 1.000 | 0.000 | Hitting_H | 0.903 | 1.000 | 0.097 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.315 | 0.250 | 0.000 | Hitting_OBP | 0.322 | 0.667 | -0.072 | -0.417 |
| predicted_R | 0.413 | 0.000 | 0.000 | Hitting_R | 0.524 | 1.000 | -0.524 | -1.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.623 | 1.000 | -0.623 | -1.000 |
| predicted_SLG | 0.372 | 0.500 | 0.000 | Hitting_SLG | 0.445 | 0.500 | 0.055 | 0.000 |
| predicted_SO | 0.790 | 0.000 | 1.000 | Hitting_SO | 0.839 | 0.000 | -0.839 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9650 -> 4.0000 (boost 1.0350, better) |
| Biggest Deboost | predicted_SO: 0.7900 -> 0.0000 (deboost -0.7900, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.2870 -> 0.3843 (boost 0.0973, better) | predicted_AB: 2.9650 -> 2.8538 (deboost -0.1112, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2220 -> 0.1875 (deboost -0.0345, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_H: 0.5352 -> 1.0000 (boost 0.4648, better) | predicted_BB: 0.3853 -> 0.0000 (deboost -0.3853, worse) | AB rounded to 3 (raw=2.96), rates preserved: AVG=0.170 HR/AB=0.034 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3943 -> 0.0000 (deboost -0.3943, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.3194 (boost 0.3194, better) | predicted_RBI: 1.0000 -> 0.5031 (deboost -0.4969, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 1 | 4 | 1 | 4 | predicted_RBI: 0.5031 -> 1.0000 (boost 0.4969, better) | predicted_H: 0.7325 -> 0.0000 (deboost -0.7325, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2330 -> 0.1875 (deboost -0.0455, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "DH",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.014,
"predicted_AB": 2.965,
"predicted_AVG": 0.23,
"predicted_BB": 0.287,
"predicted_H": 0.51,
"predicted_HR": 0.08,
"predicted_OBP": 0.315,
"predicted_R": 0.413,
"predicted_RBI": 0.61,
"predicted_SLG": 0.372,
"predicted_SO": 0.79
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0114,
"predicted_AB": 2.8538,
"predicted_AVG": 0.222,
"predicted_BB": 0.3843,
"predicted_H": 0.5372,
"predicted_HBP": 0.005,
"predicted_HR": 0.1016,
"predicted_OBP": 0.3187,
"predicted_R": 0.3966,
"predicted_RBI": 0.6822,
"predicted_SLG": 0.3826,
"predicted_SO": 0.8756
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.136,
"delta": -0.032,
"percent_delta": -0.1905,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0114,
"delta": -0.0026,
"percent_delta": -0.1857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.965,
"after": 2.8538,
"delta": -0.1112,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.222,
"delta": -0.008,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.3843,
"delta": 0.0973,
"percent_delta": 0.339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 0.5372,
"delta": 0.0272,
"percent_delta": 0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1016,
"delta": 0.0216,
"percent_delta": 0.27,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3187,
"delta": 0.0037,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.3966,
"delta": -0.0164,
"percent_delta": -0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6822,
"delta": 0.0722,
"percent_delta": 0.1184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3826,
"delta": 0.0106,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 0.8756,
"delta": 0.0856,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.287,
"after": 0.3843,
"delta": 0.0973,
"percent_delta": 0.339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.965,
"after": 2.8538,
"delta": -0.1112,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 143
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0114,
"predicted_AB": 2.8538,
"predicted_AVG": 0.1875,
"predicted_BB": 0.3853,
"predicted_H": 0.5352,
"predicted_HBP": 0.005,
"predicted_HR": 0.1015,
"predicted_OBP": 0.2842,
"predicted_R": 0.3943,
"predicted_RBI": 0.6783,
"predicted_SLG": 0.3498,
"predicted_SO": 0.8734
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.136,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0114,
"after": 0.0114,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8538,
"after": 2.8538,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1875,
"delta": -0.0345,
"percent_delta": -0.1554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3843,
"after": 0.3853,
"delta": 0.001,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5372,
"after": 0.5352,
"delta": -0.002,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1016,
"after": 0.1015,
"delta": -0.0001,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3187,
"after": 0.2842,
"delta": -0.0345,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3966,
"after": 0.3943,
"delta": -0.0023,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6822,
"after": 0.6783,
"delta": -0.0039,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3826,
"after": 0.3498,
"delta": -0.0328,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8756,
"after": 0.8734,
"delta": -0.0022,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1875,
"delta": -0.0345,
"percent_delta": -0.1554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.96), rates preserved: AVG=0.170 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0114,
"after": 0.0,
"delta": -0.0114,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8538,
"after": 3.0,
"delta": 0.1462,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3853,
"after": 0.0,
"delta": -0.3853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1015,
"after": 0.0,
"delta": -0.1015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6783,
"after": 1.0,
"delta": 0.3217,
"percent_delta": 0.4743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8734,
"after": 1.0,
"delta": 0.1266,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3853,
"after": 0.0,
"delta": -0.3853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1661,
"predicted_3B": 0.0097,
"predicted_BB": 0.3194,
"predicted_H": 0.7325,
"predicted_HR": 0.0917,
"predicted_RBI": 0.5031,
"predicted_SO": 1.0207
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1661,
"delta": 0.1661,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0097,
"delta": 0.0097,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3194,
"delta": 0.3194,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7325,
"delta": -0.2675,
"percent_delta": -0.2675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0917,
"delta": 0.0917,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5031,
"delta": -0.4969,
"percent_delta": -0.4969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0207,
"delta": 0.0207,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3194,
"delta": 0.3194,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5031,
"delta": -0.4969,
"percent_delta": -0.4969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1661,
"after": 0.0,
"delta": -0.1661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0,
"delta": -0.0097,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3194,
"after": 0.0,
"delta": -0.3194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7325,
"after": 0.0,
"delta": -0.7325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0917,
"after": 0.0,
"delta": -0.0917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5031,
"after": 1.0,
"delta": 0.4969,
"percent_delta": 0.9877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0207,
"after": 1.0,
"delta": -0.0207,
"percent_delta": -0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5031,
"after": 1.0,
"delta": 0.4969,
"percent_delta": 0.9877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7325,
"after": 0.0,
"delta": -0.7325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.233,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.38,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1875,
"after": 0.233,
"delta": 0.0455,
"percent_delta": 0.2427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2842,
"after": 0.309,
"delta": 0.0248,
"percent_delta": 0.0873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3498,
"after": 0.38,
"delta": 0.0302,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1875,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2842,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3498,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.1875,
"delta": -0.0455,
"percent_delta": -0.1952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.2842,
"delta": -0.0248,
"percent_delta": -0.0804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3498,
"delta": -0.0302,
"percent_delta": -0.0794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.1875,
"delta": -0.0455,
"percent_delta": -0.1952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 1.0,
"delta": 0.832,
"percent_delta": 4.9524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.965,
"after": 4.0,
"delta": 1.035,
"percent_delta": 0.3491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.1875,
"delta": -0.0425,
"percent_delta": -0.1848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.2842,
"delta": -0.0308,
"percent_delta": -0.0978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.0,
"delta": -0.413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3498,
"delta": -0.0222,
"percent_delta": -0.0597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.965,
"after": 4.0,
"delta": 1.035,
"percent_delta": 0.3491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 2.965 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.287 | - |
| predicted_H | 0.510 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.413 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.790 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | -0.032 |
| predicted_3B | 0.011 | -0.003 |
| predicted_AB | 2.854 | -0.111 |
| predicted_AVG | 0.222 | -0.008 |
| predicted_BB | 0.384 | 0.097 |
| predicted_H | 0.537 | 0.027 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.102 | 0.022 |
| predicted_OBP | 0.319 | 0.004 |
| predicted_R | 0.397 | -0.016 |
| predicted_RBI | 0.682 | 0.072 |
| predicted_SLG | 0.383 | 0.011 |
| predicted_SO | 0.876 | 0.086 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.854 | 0.000 |
| predicted_AVG | 0.188 | -0.035 |
| predicted_BB | 0.385 | 0.001 |
| predicted_H | 0.535 | -0.002 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.102 | -0.000 |
| predicted_OBP | 0.284 | -0.034 |
| predicted_R | 0.394 | -0.002 |
| predicted_RBI | 0.678 | -0.004 |
| predicted_SLG | 0.350 | -0.033 |
| predicted_SO | 0.873 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.96), rates preserved: AVG=0.170 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.166 | 0.166 |
| 3B | 0.010 | 0.010 |
| BB | 0.319 | 0.319 |
| H | 0.733 | -0.267 |
| HR | 0.092 | 0.092 |
| RBI | 0.503 | -0.497 |
| SO | 1.021 | 0.021 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.166 |
| 3B | 0.000 | -0.010 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.319 |
| H | 0.000 | -0.733 |
| HR | 0.000 | -0.092 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.497 |
| SO | 1.000 | -0.021 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.136 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.146 |
| predicted_AVG | 0.233 | 0.046 |
| predicted_BB | 0.000 | -0.385 |
| predicted_H | 1.000 | 0.465 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.309 | 0.025 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 1.000 | 0.322 |
| predicted_SLG | 0.380 | 0.030 |
| predicted_SO | 1.000 | 0.127 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 0.000 | 0.000 | 1.000 | 6.000 | 2.000 | 5.000 | 6.000 | 0.1818 | 0.4118 | 0.4545 | 0.1818 | 0.0909 | 0.5454 | 0.4546 | 0.5454 |
| last_10 | 0.20 | 10 | - | 21.000 | 3.000 | 0.000 | 0.000 | 1.000 | 8.000 | 2.000 | 5.000 | 11.000 | 0.1429 | 0.2963 | 0.2857 | 0.1429 | 0.0476 | 0.3810 | 0.2381 | 0.5238 |
| season | 0.60 | 143 | - | 424.000 | 102.000 | 24.000 | 2.000 | 15.000 | 79.000 | 59.000 | 41.000 | 113.000 | 0.2406 | 0.3051 | 0.4127 | 0.2406 | 0.0354 | 0.1863 | 0.0967 | 0.2665 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0080 |
| predicted_AB | 2.7080 |
| predicted_AVG | 0.2116 |
| predicted_BB | 0.5120 |
| predicted_H | 0.5730 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3235 |
| predicted_R | 0.3750 |
| predicted_RBI | 0.7770 |
| predicted_SLG | 0.3964 |
| predicted_SO | 0.9880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.0940 | 0.1360 | model_form_blend |
| predicted_3B | 0.0140 | 0.0080 | 0.0114 | model_form_blend |
| predicted_AB | 2.9650 | 2.7080 | 2.8538 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2116 | 0.2220 | model_form_blend |
| predicted_BB | 0.2870 | 0.5120 | 0.3843 | model_form_blend |
| predicted_H | 0.5100 | 0.5730 | 0.5372 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0800 | 0.1300 | 0.1016 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3235 | 0.3187 | model_form_blend |
| predicted_R | 0.4130 | 0.3750 | 0.3966 | model_form_blend |
| predicted_RBI | 0.6100 | 0.7770 | 0.6822 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3964 | 0.3826 | model_form_blend |
| predicted_SO | 0.7900 | 0.9880 | 0.8756 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 454 |
| Season rows before report date | 454 |
| Report year | 2026 |
| Profile rows used | 143 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260930_CHW@HOU |
| game_type | full |
| mlbID | 643217 |
| playerID | 643217 |
| playerName | Andrew Benintendi |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-30 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.311 |
| sl_xwoba | 0.307 |
| sl_xba | 0.24 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.073 | 0.000 | 0.000 | Hitting_2B | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.890 | 5.000 | 4.000 | Hitting_AB | 3.525 | 3.000 | 1.475 | 2.000 |
| predicted_AVG | 0.224 | 0.000 | 0.250 | Hitting_AVG | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_BB | 0.439 | 0.000 | 1.000 | Hitting_BB | 0.559 | 1.000 | -0.559 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.729 | 0.000 | -0.729 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_OBP | 0.334 | 0.000 | 0.400 | Hitting_OBP | 0.326 | 0.250 | -0.326 | -0.250 |
| predicted_R | 0.537 | 0.000 | 1.000 | Hitting_R | 0.602 | 1.000 | -0.602 | -1.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.864 | 0.000 | -0.864 | 0.000 |
| predicted_SLG | 0.361 | 0.000 | 0.250 | Hitting_SLG | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_SO | 1.366 | 3.000 | 2.000 | Hitting_SO | 1.534 | 2.000 | 1.466 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.3660 -> 3.0000 (boost 1.6340, worse) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2240 -> 0.2314 (boost 0.0074, better) | predicted_AB: 3.8900 -> 3.7431 (deboost -0.1469, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3567 -> 0.3302 (deboost -0.0265, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.3401 -> 2.0000 (boost 0.6599, worse) | predicted_BB: 0.4207 -> 0.0000 (deboost -0.4207, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.208 HR/AB=0.026 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5539 -> 1.0000 (boost 0.4461, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.4327 (boost 0.4327, better) | predicted_RBI: 1.0000 -> 0.4874 (deboost -0.5126, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.4327 -> 1.0000 (boost 0.5673, better) | predicted_2B: 0.1485 -> 0.0000 (deboost -0.1485, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.3302 -> 0.3400 (boost 0.0098, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2050 -> 0.2299 (boost 0.0249, better) | predicted_SLG: 0.3400 -> 0.3302 (deboost -0.0098, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691019",
"player_name": "Kyle Teel",
"position": "C",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.073,
"predicted_3B": 0.0,
"predicted_AB": 3.89,
"predicted_AVG": 0.224,
"predicted_BB": 0.439,
"predicted_H": 0.87,
"predicted_HR": 0.1,
"predicted_OBP": 0.334,
"predicted_R": 0.537,
"predicted_RBI": 0.66,
"predicted_SLG": 0.361,
"predicted_SO": 1.366
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0706,
"predicted_3B": 0.0008,
"predicted_AB": 3.7431,
"predicted_AVG": 0.2314,
"predicted_BB": 0.4197,
"predicted_H": 0.864,
"predicted_HBP": 0.091,
"predicted_HR": 0.1012,
"predicted_OBP": 0.3317,
"predicted_R": 0.5571,
"predicted_RBI": 0.6499,
"predicted_SLG": 0.3567,
"predicted_SO": 1.3435
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.073,
"after": 0.0706,
"delta": -0.0024,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 3.7431,
"delta": -0.1469,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2314,
"delta": 0.0074,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.4197,
"delta": -0.0193,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.864,
"delta": -0.006,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1012,
"delta": 0.0012,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3317,
"delta": -0.0023,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.537,
"after": 0.5571,
"delta": 0.0201,
"percent_delta": 0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.6499,
"delta": -0.0101,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3567,
"delta": -0.0043,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.366,
"after": 1.3435,
"delta": -0.0225,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2314,
"delta": 0.0074,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.89,
"after": 3.7431,
"delta": -0.1469,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0706,
"predicted_3B": 0.0008,
"predicted_AB": 3.7431,
"predicted_AVG": 0.2299,
"predicted_BB": 0.4207,
"predicted_H": 0.8607,
"predicted_HBP": 0.091,
"predicted_HR": 0.1011,
"predicted_OBP": 0.3078,
"predicted_R": 0.5539,
"predicted_RBI": 0.6462,
"predicted_SLG": 0.3302,
"predicted_SO": 1.3401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0706,
"after": 0.0706,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7431,
"after": 3.7431,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2314,
"after": 0.2299,
"delta": -0.0015,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4197,
"after": 0.4207,
"delta": 0.001,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.864,
"after": 0.8607,
"delta": -0.0033,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1012,
"after": 0.1011,
"delta": -0.0001,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3317,
"after": 0.3078,
"delta": -0.0239,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5571,
"after": 0.5539,
"delta": -0.0032,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6499,
"after": 0.6462,
"delta": -0.0037,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3567,
"after": 0.3302,
"delta": -0.0265,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3435,
"after": 1.3401,
"delta": -0.0034,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3567,
"after": 0.3302,
"delta": -0.0265,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.208 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0706,
"after": 0.0,
"delta": -0.0706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7431,
"after": 4.0,
"delta": 0.2569,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4207,
"after": 0.0,
"delta": -0.4207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8607,
"after": 1.0,
"delta": 0.1393,
"percent_delta": 0.1618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1011,
"after": 0.0,
"delta": -0.1011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6462,
"after": 1.0,
"delta": 0.3538,
"percent_delta": 0.5475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3401,
"after": 2.0,
"delta": 0.6599,
"percent_delta": 0.4924,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.3401,
"after": 2.0,
"delta": 0.6599,
"percent_delta": 0.4924,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4207,
"after": 0.0,
"delta": -0.4207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5539,
"after": 1.0,
"delta": 0.4461,
"percent_delta": 0.8054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5539,
"after": 1.0,
"delta": 0.4461,
"percent_delta": 0.8054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1485,
"predicted_3B": 0.0092,
"predicted_BB": 0.4327,
"predicted_H": 0.7334,
"predicted_HR": 0.1061,
"predicted_RBI": 0.4874,
"predicted_SO": 1.7304
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1485,
"delta": 0.1485,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0092,
"delta": 0.0092,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4327,
"delta": 0.4327,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7334,
"delta": -0.2666,
"percent_delta": -0.2666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1061,
"delta": 0.1061,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4874,
"delta": -0.5126,
"percent_delta": -0.5126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.7304,
"delta": -0.2696,
"percent_delta": -0.1348,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4327,
"delta": 0.4327,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4874,
"delta": -0.5126,
"percent_delta": -0.5126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1485,
"after": 0.0,
"delta": -0.1485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0092,
"after": 0.0,
"delta": -0.0092,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4327,
"after": 1.0,
"delta": 0.5673,
"percent_delta": 1.3111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7334,
"after": 1.0,
"delta": 0.2666,
"percent_delta": 0.3635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1061,
"after": 0.0,
"delta": -0.1061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4874,
"after": 1.0,
"delta": 0.5126,
"percent_delta": 1.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7304,
"after": 2.0,
"delta": 0.2696,
"percent_delta": 0.1558,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4327,
"after": 1.0,
"delta": 0.5673,
"percent_delta": 1.3111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1485,
"after": 0.0,
"delta": -0.1485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.205,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.34,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2299,
"after": 0.205,
"delta": -0.0249,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3078,
"after": 0.296,
"delta": -0.0118,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3302,
"after": 0.34,
"delta": 0.0098,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3302,
"after": 0.34,
"delta": 0.0098,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2299,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3078,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3302,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2299,
"delta": 0.0249,
"percent_delta": 0.1217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3078,
"delta": 0.0118,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3302,
"delta": -0.0098,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2299,
"delta": 0.0249,
"percent_delta": 0.1217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3302,
"delta": -0.0098,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 5.0,
"delta": 1.11,
"percent_delta": 0.2853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2299,
"delta": 0.0059,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3078,
"delta": -0.0262,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.537,
"after": 0.0,
"delta": -0.537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3302,
"delta": -0.0308,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.366,
"after": 3.0,
"delta": 1.634,
"percent_delta": 1.1962,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.366,
"after": 3.0,
"delta": 1.634,
"percent_delta": 1.1962,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.073 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.890 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.439 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.537 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.361 | - |
| predicted_SO | 1.366 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.743 | -0.147 |
| predicted_AVG | 0.231 | 0.007 |
| predicted_BB | 0.420 | -0.019 |
| predicted_H | 0.864 | -0.006 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.101 | 0.001 |
| predicted_OBP | 0.332 | -0.002 |
| predicted_R | 0.557 | 0.020 |
| predicted_RBI | 0.650 | -0.010 |
| predicted_SLG | 0.357 | -0.004 |
| predicted_SO | 1.343 | -0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.743 | 0.000 |
| predicted_AVG | 0.230 | -0.002 |
| predicted_BB | 0.421 | 0.001 |
| predicted_H | 0.861 | -0.003 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.101 | -0.000 |
| predicted_OBP | 0.308 | -0.024 |
| predicted_R | 0.554 | -0.003 |
| predicted_RBI | 0.646 | -0.004 |
| predicted_SLG | 0.330 | -0.027 |
| predicted_SO | 1.340 | -0.003 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.208 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.148 | 0.148 |
| 3B | 0.009 | 0.009 |
| BB | 0.433 | 0.433 |
| H | 0.733 | -0.267 |
| HR | 0.106 | 0.106 |
| RBI | 0.487 | -0.513 |
| SO | 1.730 | -0.270 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.148 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.567 |
| H | 1.000 | 0.267 |
| HR | 0.000 | -0.106 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.513 |
| SO | 2.000 | 0.270 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.071 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.257 |
| predicted_AVG | 0.205 | -0.025 |
| predicted_BB | 0.000 | -0.421 |
| predicted_H | 1.000 | 0.139 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.296 | -0.012 |
| predicted_R | 1.000 | 0.446 |
| predicted_RBI | 1.000 | 0.354 |
| predicted_SLG | 0.340 | 0.010 |
| predicted_SO | 2.000 | 0.660 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 7.000 | 0.3000 | 0.3182 | 0.3000 | 0.3000 | 0.0000 | 0.1500 | 0.0500 | 0.3500 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 0.000 | 0.000 | 1.000 | 7.000 | 8.000 | 5.000 | 14.000 | 0.2703 | 0.3778 | 0.3514 | 0.2703 | 0.0270 | 0.1892 | 0.1351 | 0.3784 |
| season | 0.60 | 41 | - | 132.000 | 28.000 | 3.000 | 0.000 | 5.000 | 27.000 | 22.000 | 18.000 | 56.000 | 0.2121 | 0.3226 | 0.3485 | 0.2121 | 0.0379 | 0.2046 | 0.1364 | 0.4242 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0670 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5250 |
| predicted_AVG | 0.2424 |
| predicted_BB | 0.3910 |
| predicted_H | 0.8550 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3283 |
| predicted_R | 0.5870 |
| predicted_RBI | 0.6350 |
| predicted_SLG | 0.3504 |
| predicted_SO | 1.3100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0730 | 0.0670 | 0.0706 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8900 | 3.5250 | 3.7431 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2424 | 0.2314 | model_form_blend |
| predicted_BB | 0.4390 | 0.3910 | 0.4197 | model_form_blend |
| predicted_H | 0.8700 | 0.8550 | 0.8640 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.1000 | 0.1030 | 0.1012 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3283 | 0.3317 | model_form_blend |
| predicted_R | 0.5370 | 0.5870 | 0.5571 | model_form_blend |
| predicted_RBI | 0.6600 | 0.6350 | 0.6499 | model_form_blend |
| predicted_SLG | 0.3610 | 0.3504 | 0.3567 | model_form_blend |
| predicted_SO | 1.3660 | 1.3100 | 1.3435 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 118 |
| Season rows before report date | 118 |
| Report year | 2026 |
| Profile rows used | 41 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 691019 |
| playerID | 691019 |
| playerName | Kyle Teel |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.317 |
| sl_xwoba | 0.321 |
| sl_xba | 0.211 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 35.6 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.207 | 0.000 | 1.000 | Hitting_2B | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 2.973 | 4.000 | 3.000 | Hitting_AB | 3.206 | 2.000 | 0.794 | 2.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.289 | 0.500 | -0.289 | -0.500 |
| predicted_BB | 0.247 | 0.000 | 0.000 | Hitting_BB | 0.272 | 0.000 | -0.272 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.440 | 0.000 | 1.000 | Hitting_H | 0.927 | 1.000 | -0.927 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.322 | 0.000 | 0.333 | Hitting_OBP | 0.356 | 0.500 | -0.356 | -0.500 |
| predicted_R | 0.413 | 0.000 | 0.000 | Hitting_R | 0.482 | 0.000 | -0.482 | 0.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.484 | 0.000 | -0.484 | 0.000 |
| predicted_SLG | 0.347 | 0.000 | 0.667 | Hitting_SLG | 0.484 | 0.500 | -0.484 | -0.500 |
| predicted_SO | 0.613 | 1.000 | 1.000 | Hitting_SO | 0.605 | 0.000 | 0.395 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.9730 -> 4.0000 (boost 1.0270, better) |
| Biggest Deboost | predicted_H: 0.4400 -> 0.0000 (deboost -0.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.4400 -> 0.5730 (boost 0.1330, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3206 -> 0.2530 (deboost -0.0676, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.5708 -> 1.0000 (boost 0.4292, better) | predicted_RBI: 0.2514 -> 0.0000 (deboost -0.2514, worse) | AB rounded to 3 (raw=2.97), rates preserved: AVG=0.180 HR/AB=0.013 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3938 -> 0.0000 (deboost -0.3938, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3860 (boost 0.3860, better) | predicted_H: 1.0000 -> 0.7847 (deboost -0.2153, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 3 | 3 | 2 | 4 | predicted_2B: 0.1799 -> 1.0000 (boost 0.8201, better) | predicted_RBI: 0.3860 -> 0.0000 (deboost -0.3860, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.3047 -> 0.3660 (boost 0.0613, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3660 -> 0.3047 (deboost -0.0613, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "CF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.207,
"predicted_3B": 0.027,
"predicted_AB": 2.973,
"predicted_AVG": 0.257,
"predicted_BB": 0.247,
"predicted_H": 0.44,
"predicted_HR": 0.03,
"predicted_OBP": 0.322,
"predicted_R": 0.413,
"predicted_RBI": 0.19,
"predicted_SLG": 0.347,
"predicted_SO": 0.613
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.0222,
"predicted_AB": 2.9652,
"predicted_AVG": 0.2551,
"predicted_BB": 0.2396,
"predicted_H": 0.573,
"predicted_HBP": 0.059,
"predicted_HR": 0.0391,
"predicted_OBP": 0.3206,
"predicted_R": 0.3961,
"predicted_RBI": 0.2528,
"predicted_SLG": 0.3513,
"predicted_SO": 0.6165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.171,
"delta": -0.036,
"percent_delta": -0.1739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0222,
"delta": -0.0048,
"percent_delta": -0.1778,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.973,
"after": 2.9652,
"delta": -0.0078,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2551,
"delta": -0.0019,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.2396,
"delta": -0.0074,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.44,
"after": 0.573,
"delta": 0.133,
"percent_delta": 0.3023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0391,
"delta": 0.0091,
"percent_delta": 0.3033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3206,
"delta": -0.0014,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.3961,
"delta": -0.0169,
"percent_delta": -0.0409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2528,
"delta": 0.0628,
"percent_delta": 0.3305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3513,
"delta": 0.0043,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.613,
"after": 0.6165,
"delta": 0.0035,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.44,
"after": 0.573,
"delta": 0.133,
"percent_delta": 0.3023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 150
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.0222,
"predicted_AB": 2.9652,
"predicted_AVG": 0.1925,
"predicted_BB": 0.2402,
"predicted_H": 0.5708,
"predicted_HBP": 0.059,
"predicted_HR": 0.039,
"predicted_OBP": 0.253,
"predicted_R": 0.3938,
"predicted_RBI": 0.2514,
"predicted_SLG": 0.3047,
"predicted_SO": 0.615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0222,
"after": 0.0222,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9652,
"after": 2.9652,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2551,
"after": 0.1925,
"delta": -0.0626,
"percent_delta": -0.2454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2396,
"after": 0.2402,
"delta": 0.0006,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.573,
"after": 0.5708,
"delta": -0.0022,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.059,
"after": 0.059,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0391,
"after": 0.039,
"delta": -0.0001,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3206,
"after": 0.253,
"delta": -0.0676,
"percent_delta": -0.2109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3961,
"after": 0.3938,
"delta": -0.0023,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2528,
"after": 0.2514,
"delta": -0.0014,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3513,
"after": 0.3047,
"delta": -0.0466,
"percent_delta": -0.1327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6165,
"after": 0.615,
"delta": -0.0015,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3206,
"after": 0.253,
"delta": -0.0676,
"percent_delta": -0.2109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.97), rates preserved: AVG=0.180 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0222,
"after": 0.0,
"delta": -0.0222,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9652,
"after": 3.0,
"delta": 0.0348,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2402,
"after": 0.0,
"delta": -0.2402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5708,
"after": 1.0,
"delta": 0.4292,
"percent_delta": 0.7519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2514,
"after": 0.0,
"delta": -0.2514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.615,
"after": 1.0,
"delta": 0.385,
"percent_delta": 0.626,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5708,
"after": 1.0,
"delta": 0.4292,
"percent_delta": 0.7519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2514,
"after": 0.0,
"delta": -0.2514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3938,
"after": 0.0,
"delta": -0.3938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3938,
"after": 0.0,
"delta": -0.3938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1799,
"predicted_3B": 0.0147,
"predicted_BB": 0.309,
"predicted_H": 0.7847,
"predicted_HR": 0.0861,
"predicted_RBI": 0.386,
"predicted_SO": 0.9242
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1799,
"delta": 0.1799,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0147,
"delta": 0.0147,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.309,
"delta": 0.309,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7847,
"delta": -0.2153,
"percent_delta": -0.2153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0861,
"delta": 0.0861,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.386,
"delta": 0.386,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9242,
"delta": -0.0758,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.386,
"delta": 0.386,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7847,
"delta": -0.2153,
"percent_delta": -0.2153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1799,
"after": 1.0,
"delta": 0.8201,
"percent_delta": 4.5586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0147,
"after": 0.0,
"delta": -0.0147,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7847,
"after": 1.0,
"delta": 0.2153,
"percent_delta": 0.2744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0861,
"after": 0.0,
"delta": -0.0861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9242,
"after": 1.0,
"delta": 0.0758,
"percent_delta": 0.082,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.1799,
"after": 1.0,
"delta": 0.8201,
"percent_delta": 4.5586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.229,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.366,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1925,
"after": 0.229,
"delta": 0.0365,
"percent_delta": 0.1896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.299,
"delta": 0.046,
"percent_delta": 0.1818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3047,
"after": 0.366,
"delta": 0.0613,
"percent_delta": 0.2012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3047,
"after": 0.366,
"delta": 0.0613,
"percent_delta": 0.2012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1925,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.253,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3047,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.1925,
"delta": -0.0365,
"percent_delta": -0.1594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.253,
"delta": -0.046,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3047,
"delta": -0.0613,
"percent_delta": -0.1676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3047,
"delta": -0.0613,
"percent_delta": -0.1676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.973,
"after": 4.0,
"delta": 1.027,
"percent_delta": 0.3454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.1925,
"delta": -0.0645,
"percent_delta": -0.251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.253,
"delta": -0.069,
"percent_delta": -0.2143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.0,
"delta": -0.413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3047,
"delta": -0.0423,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.973,
"after": 4.0,
"delta": 1.027,
"percent_delta": 0.3454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 2.973 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.247 | - |
| predicted_H | 0.440 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.413 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.613 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | -0.036 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 2.965 | -0.008 |
| predicted_AVG | 0.255 | -0.002 |
| predicted_BB | 0.240 | -0.007 |
| predicted_H | 0.573 | 0.133 |
| predicted_HBP | 0.059 | - |
| predicted_HR | 0.039 | 0.009 |
| predicted_OBP | 0.321 | -0.001 |
| predicted_R | 0.396 | -0.017 |
| predicted_RBI | 0.253 | 0.063 |
| predicted_SLG | 0.351 | 0.004 |
| predicted_SO | 0.617 | 0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.965 | 0.000 |
| predicted_AVG | 0.193 | -0.063 |
| predicted_BB | 0.240 | 0.001 |
| predicted_H | 0.571 | -0.002 |
| predicted_HBP | 0.059 | 0.000 |
| predicted_HR | 0.039 | -0.000 |
| predicted_OBP | 0.253 | -0.068 |
| predicted_R | 0.394 | -0.002 |
| predicted_RBI | 0.251 | -0.001 |
| predicted_SLG | 0.305 | -0.047 |
| predicted_SO | 0.615 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.97), rates preserved: AVG=0.180 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.180 | 0.180 |
| 3B | 0.015 | 0.015 |
| BB | 0.309 | 0.309 |
| H | 0.785 | -0.215 |
| HR | 0.086 | 0.086 |
| RBI | 0.386 | 0.386 |
| SO | 0.924 | -0.076 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.820 |
| 3B | 0.000 | -0.015 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.309 |
| H | 1.000 | 0.215 |
| HR | 0.000 | -0.086 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.386 |
| SO | 1.000 | 0.076 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.035 |
| predicted_AVG | 0.229 | 0.037 |
| predicted_BB | 0.000 | -0.240 |
| predicted_H | 1.000 | 0.429 |
| predicted_HR | 0.000 | -0.039 |
| predicted_OBP | 0.299 | 0.046 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.251 |
| predicted_SLG | 0.366 | 0.061 |
| predicted_SO | 1.000 | 0.385 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 0.2857 | 0.3333 | 0.2857 | 0.2857 | 0.0000 | 0.0714 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 28.000 | 5.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 6.000 | 0.1786 | 0.2581 | 0.1786 | 0.1786 | 0.0000 | 0.1071 | 0.0714 | 0.2143 |
| season | 0.60 | 150 | - | 446.000 | 119.000 | 31.000 | 4.000 | 12.000 | 57.000 | 62.000 | 37.000 | 92.000 | 0.2668 | 0.3354 | 0.4350 | 0.2668 | 0.0269 | 0.1278 | 0.0830 | 0.2063 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1240 |
| predicted_3B | 0.0160 |
| predicted_AB | 2.9550 |
| predicted_AVG | 0.2527 |
| predicted_BB | 0.2300 |
| predicted_H | 0.7470 |
| predicted_HBP | 0.0590 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.3187 |
| predicted_R | 0.3740 |
| predicted_RBI | 0.3350 |
| predicted_SLG | 0.3569 |
| predicted_SO | 0.6210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2070 | 0.1240 | 0.1710 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0222 | model_form_blend |
| predicted_AB | 2.9730 | 2.9550 | 2.9652 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2527 | 0.2551 | model_form_blend |
| predicted_BB | 0.2470 | 0.2300 | 0.2396 | model_form_blend |
| predicted_H | 0.4400 | 0.7470 | 0.5730 | model_form_blend |
| predicted_HBP | - | 0.0590 | 0.0590 | form_only |
| predicted_HR | 0.0300 | 0.0510 | 0.0391 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3187 | 0.3206 | model_form_blend |
| predicted_R | 0.4130 | 0.3740 | 0.3961 | model_form_blend |
| predicted_RBI | 0.1900 | 0.3350 | 0.2528 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3569 | 0.3513 | model_form_blend |
| predicted_SO | 0.6130 | 0.6210 | 0.6165 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 481 |
| Season rows before report date | 481 |
| Report year | 2026 |
| Profile rows used | 150 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20261003_CHW@CLE |
| game_type | ph |
| mlbID | 671976 |
| note | Singled for Grichuk in the 6th. |
| playerID | 671976 |
| playerName | Tristan Peters |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.34 |
| sl_xwoba | 0.314 |
| sl_xba | 0.248 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 34.1 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 53.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.199 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.699 | 4.000 | 3.000 | Hitting_AB | 3.772 | 4.000 | 0.228 | 0.000 |
| predicted_AVG | 0.264 | 0.000 | 0.333 | Hitting_AVG | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_BB | 0.391 | 0.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 1.050 | 0.000 | -1.050 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.364 | 0.000 | 0.333 | Hitting_OBP | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_R | 0.590 | 0.000 | 1.000 | Hitting_R | 0.626 | 0.000 | -0.626 | 0.000 |
| predicted_RBI | 0.700 | 0.000 | 0.000 | Hitting_RBI | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_SLG | 0.456 | 0.000 | 0.333 | Hitting_SLG | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_SO | 0.917 | 1.000 | 1.000 | Hitting_SO | 0.937 | 2.000 | 0.063 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.6990 -> 4.0000 (boost 0.3010, better) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.9500 -> 1.0418 (boost 0.0918, better) | predicted_AB: 3.6990 -> 3.6343 (deboost -0.0647, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3753 -> 0.3507 (deboost -0.0246, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6725 -> 1.0000 (boost 0.3275, better) | predicted_AB: 3.6343 -> 3.0000 (deboost -0.6343, worse) | AB rounded to 3 (raw=3.70), rates preserved: AVG=0.264 HR/AB=0.043 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5866 -> 1.0000 (boost 0.4134, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.3395 (boost 0.3395, better) | predicted_RBI: 1.0000 -> 0.3574 (deboost -0.6426, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.8108 -> 1.0000 (boost 0.1892, better) | predicted_RBI: 0.3574 -> 0.0000 (deboost -0.3574, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 1 | 3 | 1 | 3 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.4759 -> 0.3680 (deboost -0.1079, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3680 -> 0.4759 (boost 0.1079, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.199,
"predicted_3B": 0.0,
"predicted_AB": 3.699,
"predicted_AVG": 0.264,
"predicted_BB": 0.391,
"predicted_H": 0.95,
"predicted_HR": 0.15,
"predicted_OBP": 0.364,
"predicted_R": 0.59,
"predicted_RBI": 0.7,
"predicted_SLG": 0.456,
"predicted_SO": 0.917
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2178,
"predicted_3B": 0.0004,
"predicted_AB": 3.6343,
"predicted_AVG": 0.2914,
"predicted_BB": 0.3635,
"predicted_H": 1.0418,
"predicted_HBP": 0.043,
"predicted_HR": 0.1579,
"predicted_OBP": 0.3753,
"predicted_R": 0.59,
"predicted_RBI": 0.6764,
"predicted_SLG": 0.4913,
"predicted_SO": 0.8777
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.2178,
"delta": 0.0188,
"percent_delta": 0.0945,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.699,
"after": 3.6343,
"delta": -0.0647,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2914,
"delta": 0.0274,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.3635,
"delta": -0.0275,
"percent_delta": -0.0703,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0418,
"delta": 0.0918,
"percent_delta": 0.0966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1579,
"delta": 0.0079,
"percent_delta": 0.0527,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3753,
"delta": 0.0113,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.59,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.6764,
"delta": -0.0236,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4913,
"delta": 0.0353,
"percent_delta": 0.0774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.8777,
"delta": -0.0393,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 1.0418,
"delta": 0.0918,
"percent_delta": 0.0966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.699,
"after": 3.6343,
"delta": -0.0647,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 156
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2178,
"predicted_3B": 0.0004,
"predicted_AB": 3.6343,
"predicted_AVG": 0.2856,
"predicted_BB": 0.3644,
"predicted_H": 1.0378,
"predicted_HBP": 0.043,
"predicted_HR": 0.1577,
"predicted_OBP": 0.3507,
"predicted_R": 0.5866,
"predicted_RBI": 0.6725,
"predicted_SLG": 0.4759,
"predicted_SO": 0.8755
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2178,
"after": 0.2178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6343,
"after": 3.6343,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2914,
"after": 0.2856,
"delta": -0.0058,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3635,
"after": 0.3644,
"delta": 0.0009,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0418,
"after": 1.0378,
"delta": -0.004,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1579,
"after": 0.1577,
"delta": -0.0002,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3753,
"after": 0.3507,
"delta": -0.0246,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.5866,
"delta": -0.0034,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6764,
"after": 0.6725,
"delta": -0.0039,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4913,
"after": 0.4759,
"delta": -0.0154,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8777,
"after": 0.8755,
"delta": -0.0022,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3753,
"after": 0.3507,
"delta": -0.0246,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.70), rates preserved: AVG=0.264 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2178,
"after": 0.0,
"delta": -0.2178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6343,
"after": 3.0,
"delta": -0.6343,
"percent_delta": -0.1745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3644,
"after": 0.0,
"delta": -0.3644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0378,
"after": 1.0,
"delta": -0.0378,
"percent_delta": -0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1577,
"after": 0.0,
"delta": -0.1577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6725,
"after": 1.0,
"delta": 0.3275,
"percent_delta": 0.487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8755,
"after": 1.0,
"delta": 0.1245,
"percent_delta": 0.1422,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6725,
"after": 1.0,
"delta": 0.3275,
"percent_delta": 0.487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6343,
"after": 3.0,
"delta": -0.6343,
"percent_delta": -0.1745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5866,
"after": 1.0,
"delta": 0.4134,
"percent_delta": 0.7047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5866,
"after": 1.0,
"delta": 0.4134,
"percent_delta": 0.7047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.152,
"predicted_3B": 0.0058,
"predicted_BB": 0.3395,
"predicted_H": 0.8108,
"predicted_HR": 0.0865,
"predicted_RBI": 0.3574,
"predicted_SO": 1.0541
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.152,
"delta": 0.152,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0058,
"delta": 0.0058,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3395,
"delta": 0.3395,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8108,
"delta": -0.1892,
"percent_delta": -0.1892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0865,
"delta": 0.0865,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.3574,
"delta": -0.6426,
"percent_delta": -0.6426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0541,
"delta": 0.0541,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3395,
"delta": 0.3395,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.3574,
"delta": -0.6426,
"percent_delta": -0.6426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0058,
"after": 0.0,
"delta": -0.0058,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3395,
"after": 0.0,
"delta": -0.3395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8108,
"after": 1.0,
"delta": 0.1892,
"percent_delta": 0.2333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0865,
"after": 0.0,
"delta": -0.0865,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3574,
"after": 0.0,
"delta": -0.3574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0541,
"after": 1.0,
"delta": -0.0541,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8108,
"after": 1.0,
"delta": 0.1892,
"percent_delta": 0.2333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3574,
"after": 0.0,
"delta": -0.3574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.317,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.368,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2856,
"after": 0.242,
"delta": -0.0436,
"percent_delta": -0.1527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3507,
"after": 0.317,
"delta": -0.0337,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4759,
"after": 0.368,
"delta": -0.1079,
"percent_delta": -0.2267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4759,
"after": 0.368,
"delta": -0.1079,
"percent_delta": -0.2267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2856,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3507,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4759,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2856,
"delta": 0.0436,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3507,
"delta": 0.0337,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.4759,
"delta": 0.1079,
"percent_delta": 0.2931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.4759,
"delta": 0.1079,
"percent_delta": 0.2931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.699,
"after": 4.0,
"delta": 0.301,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2856,
"delta": 0.0216,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3507,
"delta": -0.0133,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4759,
"delta": 0.0199,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.699,
"after": 4.0,
"delta": 0.301,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.699 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.391 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.590 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 0.917 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | 0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.634 | -0.065 |
| predicted_AVG | 0.291 | 0.027 |
| predicted_BB | 0.363 | -0.028 |
| predicted_H | 1.042 | 0.092 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.158 | 0.008 |
| predicted_OBP | 0.375 | 0.011 |
| predicted_R | 0.590 | 0.000 |
| predicted_RBI | 0.676 | -0.024 |
| predicted_SLG | 0.491 | 0.035 |
| predicted_SO | 0.878 | -0.039 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.634 | 0.000 |
| predicted_AVG | 0.286 | -0.006 |
| predicted_BB | 0.364 | 0.001 |
| predicted_H | 1.038 | -0.004 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.158 | -0.000 |
| predicted_OBP | 0.351 | -0.025 |
| predicted_R | 0.587 | -0.003 |
| predicted_RBI | 0.672 | -0.004 |
| predicted_SLG | 0.476 | -0.015 |
| predicted_SO | 0.875 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.70), rates preserved: AVG=0.264 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.152 | 0.152 |
| 3B | 0.006 | 0.006 |
| BB | 0.340 | 0.340 |
| H | 0.811 | -0.189 |
| HR | 0.086 | 0.086 |
| RBI | 0.357 | -0.643 |
| SO | 1.054 | 0.054 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.152 |
| 3B | 0.000 | -0.006 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.340 |
| H | 1.000 | 0.189 |
| HR | 0.000 | -0.086 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.357 |
| SO | 1.000 | -0.054 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.218 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.634 |
| predicted_AVG | 0.242 | -0.044 |
| predicted_BB | 0.000 | -0.364 |
| predicted_H | 1.000 | -0.038 |
| predicted_HR | 0.000 | -0.158 |
| predicted_OBP | 0.317 | -0.034 |
| predicted_R | 1.000 | 0.413 |
| predicted_RBI | 1.000 | 0.328 |
| predicted_SLG | 0.368 | -0.108 |
| predicted_SO | 1.000 | 0.125 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 3.000 | 0.4375 | 0.4706 | 0.7500 | 0.4375 | 0.0625 | 0.2500 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 2.000 | 0.000 | 3.000 | 11.000 | 8.000 | 3.000 | 8.000 | 0.3824 | 0.4474 | 0.7059 | 0.3824 | 0.0882 | 0.3235 | 0.0882 | 0.2353 |
| season | 0.60 | 156 | - | 577.000 | 160.000 | 31.000 | 0.000 | 17.000 | 67.000 | 92.000 | 61.000 | 143.000 | 0.2773 | 0.3503 | 0.4194 | 0.2773 | 0.0295 | 0.1161 | 0.1057 | 0.2478 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2420 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5510 |
| predicted_AVG | 0.3267 |
| predicted_BB | 0.3280 |
| predicted_H | 1.1600 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.1680 |
| predicted_OBP | 0.3899 |
| predicted_R | 0.5900 |
| predicted_RBI | 0.6460 |
| predicted_SLG | 0.5368 |
| predicted_SO | 0.8270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1990 | 0.2420 | 0.2178 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6990 | 3.5510 | 3.6343 | model_form_blend |
| predicted_AVG | 0.2640 | 0.3267 | 0.2914 | model_form_blend |
| predicted_BB | 0.3910 | 0.3280 | 0.3635 | model_form_blend |
| predicted_H | 0.9500 | 1.1600 | 1.0418 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1500 | 0.1680 | 0.1579 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3899 | 0.3753 | model_form_blend |
| predicted_R | 0.5900 | 0.5900 | 0.5900 | model_form_blend |
| predicted_RBI | 0.7000 | 0.6460 | 0.6764 | model_form_blend |
| predicted_SLG | 0.4560 | 0.5368 | 0.4913 | model_form_blend |
| predicted_SO | 0.9170 | 0.8270 | 0.8777 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 623 |
| Season rows before report date | 623 |
| Report year | 2026 |
| Profile rows used | 156 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.339 |
| sl_xwoba | 0.301 |
| sl_xba | 0.239 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 34.6 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 42.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 2.000 | 0.000 | Hitting_2B | 0.175 | 1.000 | 1.825 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.770 | 4.000 | 3.000 | Hitting_AB | 3.819 | 3.000 | 0.181 | 1.000 |
| predicted_AVG | 0.206 | 0.750 | 0.000 | Hitting_AVG | 0.206 | 0.667 | 0.544 | 0.083 |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.780 | 3.000 | 0.000 | Hitting_H | 0.788 | 2.000 | 2.212 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_OBP | 0.283 | 0.750 | 0.000 | Hitting_OBP | 0.292 | 0.667 | 0.458 | 0.083 |
| predicted_R | 0.462 | 1.000 | 0.000 | Hitting_R | 0.506 | 0.000 | 0.494 | 1.000 |
| predicted_RBI | 0.520 | 0.000 | 0.000 | Hitting_RBI | 0.618 | 1.000 | -0.618 | -1.000 |
| predicted_SLG | 0.416 | 1.250 | 0.000 | Hitting_SLG | 0.424 | 1.000 | 0.826 | 0.250 |
| predicted_SO | 1.474 | 0.000 | 1.000 | Hitting_SO | 1.502 | 0.000 | -1.502 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.7800 -> 3.0000 (boost 2.2200, better) |
| Biggest Deboost | predicted_SO: 1.4740 -> 0.0000 (deboost -1.4740, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 3.7700 -> 3.6577 (deboost -0.1123, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4032 -> 0.3847 (deboost -0.0185, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 1.4306 -> 2.0000 (boost 0.5694, worse) | predicted_AB: 3.6577 -> 3.0000 (deboost -0.6577, worse) | AB rounded to 3 (raw=3.77), rates preserved: AVG=0.180 HR/AB=0.046 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4220 -> 0.0000 (deboost -0.4220, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4133 (boost 0.4133, better) | predicted_H: 1.0000 -> 0.6144 (deboost -0.3856, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 0 | 6 | 1 | 5 | - | predicted_SO: 1.6832 -> 1.0000 (deboost -0.6832, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 5 | 3 | 2 | 2 | 3 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.3847 -> 0.3630 (deboost -0.0217, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3630 -> 0.3847 (boost 0.0217, better) | predicted_OBP: 0.2700 -> 0.2644 (deboost -0.0056, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0,
"predicted_AB": 3.77,
"predicted_AVG": 0.206,
"predicted_BB": 0.353,
"predicted_H": 0.78,
"predicted_HR": 0.17,
"predicted_OBP": 0.283,
"predicted_R": 0.462,
"predicted_RBI": 0.52,
"predicted_SLG": 0.416,
"predicted_SO": 1.474
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1596,
"predicted_3B": 0.0004,
"predicted_AB": 3.6577,
"predicted_AVG": 0.1973,
"predicted_BB": 0.3329,
"predicted_H": 0.7245,
"predicted_HBP": 0.118,
"predicted_HR": 0.1752,
"predicted_OBP": 0.2788,
"predicted_R": 0.4244,
"predicted_RBI": 0.4933,
"predicted_SLG": 0.4032,
"predicted_SO": 1.4342
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1596,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6577,
"delta": -0.1123,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.1973,
"delta": -0.0087,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.3329,
"delta": -0.0201,
"percent_delta": -0.0569,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7245,
"delta": -0.0555,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1752,
"delta": 0.0052,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2788,
"delta": -0.0042,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.4244,
"delta": -0.0376,
"percent_delta": -0.0814,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.4933,
"delta": -0.0267,
"percent_delta": -0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4032,
"delta": -0.0128,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.474,
"after": 1.4342,
"delta": -0.0398,
"percent_delta": -0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6577,
"delta": -0.1123,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 156
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1596,
"predicted_3B": 0.0004,
"predicted_AB": 3.6577,
"predicted_AVG": 0.1973,
"predicted_BB": 0.3337,
"predicted_H": 0.7217,
"predicted_HBP": 0.118,
"predicted_HR": 0.175,
"predicted_OBP": 0.2644,
"predicted_R": 0.422,
"predicted_RBI": 0.4905,
"predicted_SLG": 0.3847,
"predicted_SO": 1.4306
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1596,
"after": 0.1596,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6577,
"after": 3.6577,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1973,
"after": 0.1973,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3329,
"after": 0.3337,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7245,
"after": 0.7217,
"delta": -0.0028,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1752,
"after": 0.175,
"delta": -0.0002,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2788,
"after": 0.2644,
"delta": -0.0144,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4244,
"after": 0.422,
"delta": -0.0024,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4933,
"after": 0.4905,
"delta": -0.0028,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4032,
"after": 0.3847,
"delta": -0.0185,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4342,
"after": 1.4306,
"delta": -0.0036,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4032,
"after": 0.3847,
"delta": -0.0185,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.77), rates preserved: AVG=0.180 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1596,
"after": 0.0,
"delta": -0.1596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6577,
"after": 3.0,
"delta": -0.6577,
"percent_delta": -0.1798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3337,
"after": 0.0,
"delta": -0.3337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7217,
"after": 1.0,
"delta": 0.2783,
"percent_delta": 0.3856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4905,
"after": 0.0,
"delta": -0.4905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4306,
"after": 2.0,
"delta": 0.5694,
"percent_delta": 0.398,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4306,
"after": 2.0,
"delta": 0.5694,
"percent_delta": 0.398,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6577,
"after": 3.0,
"delta": -0.6577,
"percent_delta": -0.1798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1399,
"predicted_3B": 0.0057,
"predicted_BB": 0.3202,
"predicted_H": 0.6144,
"predicted_HR": 0.1343,
"predicted_RBI": 0.4133,
"predicted_SO": 1.6832
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1399,
"delta": 0.1399,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0057,
"delta": 0.0057,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3202,
"delta": 0.3202,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6144,
"delta": -0.3856,
"percent_delta": -0.3856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1343,
"delta": 0.1343,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4133,
"delta": 0.4133,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.6832,
"delta": -0.3168,
"percent_delta": -0.1584,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4133,
"delta": 0.4133,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6144,
"delta": -0.3856,
"percent_delta": -0.3856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1399,
"after": 0.0,
"delta": -0.1399,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0057,
"after": 0.0,
"delta": -0.0057,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3202,
"after": 0.0,
"delta": -0.3202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6144,
"after": 0.0,
"delta": -0.6144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1343,
"after": 0.0,
"delta": -0.1343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4133,
"after": 0.0,
"delta": -0.4133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6832,
"after": 1.0,
"delta": -0.6832,
"percent_delta": -0.4059,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.6832,
"after": 1.0,
"delta": -0.6832,
"percent_delta": -0.4059,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.191,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1973,
"after": 0.191,
"delta": -0.0063,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2644,
"after": 0.27,
"delta": 0.0056,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3847,
"after": 0.363,
"delta": -0.0217,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3847,
"after": 0.363,
"delta": -0.0217,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1973,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2644,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3847,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.191,
"after": 0.1973,
"delta": 0.0063,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2644,
"delta": -0.0056,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3847,
"delta": 0.0217,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3847,
"delta": 0.0217,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2644,
"delta": -0.0056,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 2.0,
"delta": 1.84,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.1973,
"delta": -0.0087,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 3.0,
"delta": 2.22,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2644,
"delta": -0.0186,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 1.0,
"delta": 0.538,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.3847,
"delta": -0.0313,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.474,
"after": 0.0,
"delta": -1.474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.78,
"after": 3.0,
"delta": 2.22,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.474,
"after": 0.0,
"delta": -1.474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.206 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 1.474 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | -0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.658 | -0.112 |
| predicted_AVG | 0.197 | -0.009 |
| predicted_BB | 0.333 | -0.020 |
| predicted_H | 0.725 | -0.055 |
| predicted_HBP | 0.118 | - |
| predicted_HR | 0.175 | 0.005 |
| predicted_OBP | 0.279 | -0.004 |
| predicted_R | 0.424 | -0.038 |
| predicted_RBI | 0.493 | -0.027 |
| predicted_SLG | 0.403 | -0.013 |
| predicted_SO | 1.434 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.658 | 0.000 |
| predicted_AVG | 0.197 | 0.000 |
| predicted_BB | 0.334 | 0.001 |
| predicted_H | 0.722 | -0.003 |
| predicted_HBP | 0.118 | 0.000 |
| predicted_HR | 0.175 | -0.000 |
| predicted_OBP | 0.264 | -0.014 |
| predicted_R | 0.422 | -0.002 |
| predicted_RBI | 0.490 | -0.003 |
| predicted_SLG | 0.385 | -0.019 |
| predicted_SO | 1.431 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.77), rates preserved: AVG=0.180 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.140 | 0.140 |
| 3B | 0.006 | 0.006 |
| BB | 0.320 | 0.320 |
| H | 0.614 | -0.386 |
| HR | 0.134 | 0.134 |
| RBI | 0.413 | 0.413 |
| SO | 1.683 | -0.317 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.140 |
| 3B | 0.000 | -0.006 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.320 |
| H | 0.000 | -0.614 |
| HR | 0.000 | -0.134 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.413 |
| SO | 1.000 | -0.683 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.160 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.658 |
| predicted_AVG | 0.191 | -0.006 |
| predicted_BB | 0.000 | -0.334 |
| predicted_H | 1.000 | 0.278 |
| predicted_HR | 0.000 | -0.175 |
| predicted_OBP | 0.270 | 0.006 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.490 |
| predicted_SLG | 0.363 | -0.022 |
| predicted_SO | 2.000 | 0.569 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 6.000 | 0.2000 | 0.2941 | 0.4667 | 0.2000 | 0.0667 | 0.1333 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 34.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 14.000 | 0.1176 | 0.2105 | 0.2353 | 0.1177 | 0.0294 | 0.0588 | 0.0882 | 0.4118 |
| season | 0.60 | 156 | - | 577.000 | 115.000 | 25.000 | 0.000 | 32.000 | 89.000 | 72.000 | 55.000 | 230.000 | 0.1993 | 0.2851 | 0.4090 | 0.1993 | 0.0555 | 0.1542 | 0.0953 | 0.3986 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5130 |
| predicted_AVG | 0.1860 |
| predicted_BB | 0.3070 |
| predicted_H | 0.6530 |
| predicted_HBP | 0.1180 |
| predicted_HR | 0.1820 |
| predicted_OBP | 0.2735 |
| predicted_R | 0.3760 |
| predicted_RBI | 0.4590 |
| predicted_SLG | 0.3868 |
| predicted_SO | 1.3830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1590 | 0.1596 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7700 | 3.5130 | 3.6577 | model_form_blend |
| predicted_AVG | 0.2060 | 0.1860 | 0.1973 | model_form_blend |
| predicted_BB | 0.3530 | 0.3070 | 0.3329 | model_form_blend |
| predicted_H | 0.7800 | 0.6530 | 0.7245 | model_form_blend |
| predicted_HBP | - | 0.1180 | 0.1180 | form_only |
| predicted_HR | 0.1700 | 0.1820 | 0.1752 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2735 | 0.2788 | model_form_blend |
| predicted_R | 0.4620 | 0.3760 | 0.4244 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4590 | 0.4933 | model_form_blend |
| predicted_SLG | 0.4160 | 0.3868 | 0.4032 | model_form_blend |
| predicted_SO | 1.4740 | 1.3830 | 1.4342 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 613 |
| Season rows before report date | 613 |
| Report year | 2026 |
| Profile rows used | 156 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 35.6 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.3 |
| sl_xwoba | 0.294 |
| sl_xba | 0.199 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 23.6 |
| sl_whiff_percent | 37.4 |
| sl_swing_percent | 51.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.611 | 1.000 | -0.611 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.167 | 0.000 | -1.167 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.500 | 1.000 | 0.500 | 4.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.289 | 1.100 | -0.089 | 3.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 3.583 | 0.000 | 0.417 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641743",
"player_name": "Anthony Kay",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 15.000 | 5.000 | 15.000 | 7.000 | 11.000 | 1.000 | 3.0000 | 1.4667 | 0.3333 | 1.0000 | 0.4667 | 0.7333 | 0.0667 |
| last_10 | 0.35 | 10 | 38.200 | 24.000 | 43.000 | 14.000 | 31.000 | 5.000 | 5.5862 | 1.4741 | 0.6207 | 1.1121 | 0.3621 | 0.8017 | 0.1293 |
| season | 0.20 | 35 | 160.000 | 78.000 | 162.000 | 58.000 | 129.000 | 21.000 | 4.3875 | 1.3750 | 0.4875 | 1.0125 | 0.3625 | 0.8063 | 0.1313 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5440 |
| predicted_ER | 1.7920 |
| predicted_ERA | 4.2372 |
| predicted_H | 3.9380 |
| predicted_HR | 0.4080 |
| predicted_IP | 3.2000 |
| predicted_SO | 3.0150 |
| predicted_WHIP | 1.4401 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.5440 | 1.3249 | model_form_blend |
| predicted_ER | 1.0000 | 1.7920 | 1.4730 | model_form_blend |
| predicted_ERA | - | 4.2372 | 4.2372 | form_only |
| predicted_H | 5.0000 | 3.9380 | 4.3658 | model_form_blend |
| predicted_HR | 0.0000 | 0.4080 | 0.2437 | model_form_blend |
| predicted_IP | 4.2000 | 3.2000 | 4.1000 | model_form_blend |
| predicted_SO | 4.0000 | 3.0150 | 3.4118 | model_form_blend |
| predicted_WHIP | - | 1.4401 | 1.4401 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 5 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 4 |
| HR | 0 |
| BF | 20 |
| Pitches | 78 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 641743 |
| playerID | 641743 |
| playerName | Anthony Kay |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.339 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 76.49562281 |
| sl_avg_hyper_speed | 94.225161921 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 0.366 | 0.000 | 3.634 | 4.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 0.976 | 2.000 | 3.024 | 2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.266 | 1.200 | -0.166 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.854 | 1.000 | -0.854 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "691799",
"player_name": "Grant Taylor",
"position": "Closer",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 4.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 8.000 | 0.000 | 4.000 | 1.000 | 9.000 | 0.000 | 0.0000 | 0.6250 | 0.0000 | 0.5000 | 0.1250 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 2.000 | 5.000 | 6.000 | 16.000 | 1.000 | 1.2000 | 0.7333 | 0.1333 | 0.3333 | 0.4000 | 1.0667 | 0.0667 |
| season | 0.20 | 41 | 56.100 | 15.000 | 40.000 | 18.000 | 76.000 | 4.000 | 2.3964 | 1.0296 | 0.2663 | 0.7101 | 0.3195 | 1.3491 | 0.0710 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4260 |
| predicted_ER | 0.3220 |
| predicted_ERA | 2.0177 |
| predicted_H | 0.9120 |
| predicted_HR | 0.1020 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.5600 |
| predicted_WHIP | 0.9305 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4260 | 0.2228 | model_form_blend |
| predicted_ER | 4.0000 | 0.3220 | 2.0766 | model_form_blend |
| predicted_ERA | - | 2.0177 | 2.0177 | form_only |
| predicted_H | 4.0000 | 0.9120 | 2.3851 | model_form_blend |
| predicted_HR | 1.0000 | 0.1020 | 0.5304 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.5600 | 1.2929 | model_form_blend |
| predicted_WHIP | - | 0.9305 | 0.9305 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 4 |
| R | 4 |
| ER | 4 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 8 |
| Pitches | 29 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.40 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260802_CHW@TB |
| game_type | full |
| mlbID | 691799 |
| playerID | 691799 |
| playerName | Grant Taylor |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-02 |
| game_pk | 822943.0 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.26 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 41.2 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 46.5 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 88.12727272727273 |
| sv_release_spin_rate | 2356.681818181818 |
| sv_effective_speed | 88.98181818181818 |
| sv_launch_speed | 86.17 |
| sv_launch_angle | -1.4 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.38 |
| sv_delta_home_win_exp | -0.037 |
| sl_avg_best_speed | 79.579557677 |
| sl_avg_hyper_speed | 94.193453604 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.328 | 2.000 | -0.328 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.925 | 4.000 | -0.925 | -4.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.857 | 0.100 | 0.143 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.881 | 0.000 | 0.119 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663542",
"player_name": "Bryan Hudson",
"position": "Setup Man",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 6.000 | 0.000 | 2.000 | 1.000 | 4.1538 | 1.3846 | 0.4615 | 1.3846 | 0.0000 | 0.4615 | 0.2308 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 11.000 | 0.000 | 7.000 | 1.000 | 1.7419 | 1.0645 | 0.1935 | 1.0645 | 0.0000 | 0.6774 | 0.0968 |
| season | 0.20 | 66 | 65.100 | 19.000 | 59.000 | 17.000 | 59.000 | 5.000 | 2.6173 | 1.1633 | 0.2908 | 0.9031 | 0.2602 | 0.9031 | 0.0765 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1410 |
| predicted_ER | 0.3820 |
| predicted_ERA | 3.4394 |
| predicted_H | 1.1240 |
| predicted_HR | 0.1520 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7090 |
| predicted_WHIP | 1.2651 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1410 | 0.0755 | model_form_blend |
| predicted_ER | 0.0000 | 0.3820 | 0.2047 | model_form_blend |
| predicted_ERA | - | 3.4394 | 3.4394 | form_only |
| predicted_H | 0.0000 | 1.1240 | 0.6022 | model_form_blend |
| predicted_HR | 0.0000 | 0.1520 | 0.0814 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7090 | 0.8441 | model_form_blend |
| predicted_WHIP | - | 1.2651 | 1.2651 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 67 |
| Season rows before report date | 67 |
| Report year | 2026 |
| Profile rows used | 66 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.03 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 14 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260918_DET@CHW |
| game_type | full |
| mlbID | 663542 |
| playerID | 663542 |
| playerName | Bryan Hudson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-18 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.304 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 47.9 |
| sl_avg_best_speed | 77.03898567 |
| sl_avg_hyper_speed | 93.301948299 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.556 | 1.000 | -0.556 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.481 | 1.000 | -0.481 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.222 | 1.000 | -1.222 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.363 | 1.100 | -0.363 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.444 | 4.000 | -1.444 | -4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656794",
"player_name": "Sean Newcomb",
"position": "Middle Reliever (High Leverage)",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 9.100 | 7.000 | 12.000 | 3.000 | 10.000 | 0.000 | 6.7500 | 1.6071 | 0.7500 | 1.2857 | 0.3214 | 1.0714 | 0.0000 |
| last_10 | 0.35 | 10 | 20.000 | 7.000 | 16.000 | 7.000 | 18.000 | 0.000 | 3.1500 | 1.1500 | 0.3500 | 0.8000 | 0.3500 | 0.9000 | 0.0000 |
| season | 0.20 | 53 | 84.100 | 26.000 | 64.000 | 30.000 | 78.000 | 2.000 | 2.7747 | 1.1146 | 0.3083 | 0.7589 | 0.3557 | 0.9249 | 0.0237 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6000 |
| predicted_ER | 0.8970 |
| predicted_ERA | 4.6779 |
| predicted_H | 1.7330 |
| predicted_HR | 0.0630 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.6760 |
| predicted_WHIP | 1.3522 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6000 | 0.3334 | model_form_blend |
| predicted_ER | 0.0000 | 0.8970 | 0.4985 | model_form_blend |
| predicted_ERA | - | 4.6779 | 4.6779 | form_only |
| predicted_H | 0.0000 | 1.7330 | 0.9631 | model_form_blend |
| predicted_HR | 0.0000 | 0.0630 | 0.0350 | model_form_blend |
| predicted_IP | 1.0000 | 1.2000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.6760 | 0.9314 | model_form_blend |
| predicted_WHIP | - | 1.3522 | 1.3522 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 53 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.77 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 29 |
| Pitching_R | 1 |
| Pitching_SO | 4 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260912_CHW@STL |
| game_type | full |
| mlbID | 656794 |
| playerID | 656794 |
| playerName | Sean Newcomb |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-12 |
| game_pk | 823009.0 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.285 |
| sl_xwoba | 0.317 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 45.9 |
| sv_pitch_count | 29.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 91.88275862068966 |
| sv_release_spin_rate | 2501.0 |
| sv_effective_speed | 90.5206896551724 |
| sv_launch_speed | 74.10000000000001 |
| sv_launch_angle | 29.285714285714285 |
| sv_woba_value | 1.6 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.3010000000000001 |
| sv_delta_home_win_exp | -0.045 |
| sl_avg_best_speed | 77.732436083 |
| sl_avg_hyper_speed | 94.013500335 |
| Field | Value |
|---|---|
| Pitcher | Gavin Williams |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2212 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0624 |
| Avg Velo | 90.9785 |
| Avg Spin | 2292.1975 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 3.7595 |
| Season WHIP | 1.1121 |
| Role Avg IP | 5.7600 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.068,
"opponent_offense_edge": 0.0667,
"defense_strength": 0.0907,
"opponent_defense_weakness": -0.0104,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0013,
"strikeout": 0.9949
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668909",
"profile": {
"available": true,
"pitcher_id": "668909",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 700.0,
"k_percent": 33.2,
"bb_percent": 8.2,
"woba": 0.294,
"xwoba": 0.302,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.6,
"avg_best_speed": 79.2974,
"avg_hyper_speed": 94.9953,
"whiff_percent": 32.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1041,
"command_and_miss": 1.1436,
"regression_edge": -0.2286,
"xwoba_edge": 0.2857,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.2429,
"whiff_edge": 1.0857,
"bb_edge": 0.25,
"pitch_design_score": 0.0624
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668909",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9785,
"release_spin_rate": 2292.1975,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0624,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4457,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2212,
"sample_weight": 1.0,
"run_prevention_factor": 0.9812,
"strikeout_factor": 1.1069,
"walk_factor": 0.98,
"homer_factor": 1.1158,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668909",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9812,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9812,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.98,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.1158,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.1069,
"adjusted": 9
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 51.0,
"ER": 22,
"H": 39,
"BB": 23,
"SO": 80,
"HR": 7,
"ERA": 3.8823529411764706,
"WHIP": 1.2156862745098038,
"K9": 14.117647058823529,
"HR9": 1.2352941176470589,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-25T00:00:00"
}{
"available": true,
"pitcher_id": "668909",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9785,
"release_spin_rate": 2292.1975,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0624,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4457,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 32.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8649,
"prior_weight": 0.1351
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "668909",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 8.0,
"R": 9.0,
"H": 18.0,
"BB": 12.0,
"SO": 44.0,
"HR": 1.0,
"BF": 114.0,
"Pitches": 472.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6,
"R": 1.8,
"H": 3.6,
"BB": 2.4,
"SO": 8.8,
"HR": 0.2,
"BF": 22.8,
"Pitches": 94.4
},
"rates": {
"ERA": 2.5412,
"WHIP": 1.0588,
"ER_per_IP": 0.28235,
"H_per_IP": 0.63529,
"BB_per_IP": 0.42353,
"SO_per_IP": 1.55294,
"HR_per_IP": 0.03529
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.0,
"ER": 22.0,
"R": 23.0,
"H": 39.0,
"BB": 23.0,
"SO": 80.0,
"HR": 7.0,
"BF": 214.0,
"Pitches": 912.0
},
"per_game": {
"IP": 5.0,
"ER": 2.2,
"R": 2.3,
"H": 3.9,
"BB": 2.3,
"SO": 8.0,
"HR": 0.7,
"BF": 21.4,
"Pitches": 91.2
},
"rates": {
"ERA": 3.8824,
"WHIP": 1.2157,
"ER_per_IP": 0.43137,
"H_per_IP": 0.76471,
"BB_per_IP": 0.45098,
"SO_per_IP": 1.56863,
"HR_per_IP": 0.13725
}
},
"season": {
"games": 32,
"totals": {
"IP": 184.1,
"ER": 77.0,
"R": 81.0,
"H": 144.0,
"BB": 61.0,
"SO": 248.0,
"HR": 28.0,
"BF": 746.0,
"Pitches": 2991.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4062,
"R": 2.5312,
"H": 4.5,
"BB": 1.9062,
"SO": 7.75,
"HR": 0.875,
"BF": 23.3125,
"Pitches": 93.4688
},
"rates": {
"ERA": 3.7595,
"WHIP": 1.1121,
"ER_per_IP": 0.41772,
"H_per_IP": 0.78119,
"BB_per_IP": 0.33092,
"SO_per_IP": 1.34539,
"HR_per_IP": 0.1519
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.088,
"predicted_H": 4.081,
"predicted_BB": 2.24,
"predicted_SO": 7.86,
"predicted_HR": 0.555,
"predicted_ERA": 3.4386,
"predicted_WHIP": 1.1568
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4071,
"form_weight": 0.5929,
"form_reliability": 0.8649,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 32.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8649,
"prior_weight": 0.1351
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.088,
"final": 2.4593,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.081,
"final": 4.8622,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.24,
"final": 1.3281,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 7.86,
"final": 5.8816,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.555,
"final": 0.7362,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4386,
"final": 3.4386,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1568,
"final": 1.1568,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Cade Smith |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6961 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.9200 |
| Season WHIP | 0.9467 |
| Role Avg IP | 1.0710 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.068,
"opponent_offense_edge": 0.0667,
"defense_strength": 0.0907,
"opponent_defense_weakness": -0.0104,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0013,
"strikeout": 0.9949
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "671922",
"profile": {
"available": true,
"pitcher_id": "671922",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 267.0,
"k_percent": 36.3,
"bb_percent": 7.8,
"woba": 0.241,
"xwoba": 0.261,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 42.8,
"avg_best_speed": 82.0536,
"avg_hyper_speed": 94.6537,
"whiff_percent": 34.5,
"swing_percent": 49.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6728,
"command_and_miss": 1.4479,
"regression_edge": -0.5714,
"xwoba_edge": 1.4571,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.7,
"whiff_edge": 1.3286,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "671922",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6961,
"sample_weight": 1.0,
"run_prevention_factor": 0.9408,
"strikeout_factor": 1.1343,
"walk_factor": 0.972,
"homer_factor": 1.011,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "671922",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9408,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9408,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.972,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.011,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.1343,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 0,
"H": 2,
"BB": 2,
"SO": 15,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.36363636363636365,
"K9": 12.272727272727273,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": false,
"pitcher_id": "671922",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.483,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7559,
"prior_weight": 0.2441
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "671922",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 70,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 15.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 141.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.5,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.1
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3636,
"ER_per_IP": 0.0,
"H_per_IP": 0.18182,
"BB_per_IP": 0.18182,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.0
}
},
"season": {
"games": 70,
"totals": {
"IP": 75.0,
"ER": 16.0,
"R": 20.0,
"H": 48.0,
"BB": 23.0,
"SO": 108.0,
"HR": 5.0,
"BF": 298.0,
"Pitches": 1250.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2286,
"R": 0.2857,
"H": 0.6857,
"BB": 0.3286,
"SO": 1.5429,
"HR": 0.0714,
"BF": 4.2571,
"Pitches": 17.8571
},
"rates": {
"ERA": 1.92,
"WHIP": 0.9467,
"ER_per_IP": 0.21333,
"H_per_IP": 0.64,
"BB_per_IP": 0.30667,
"SO_per_IP": 1.44,
"HR_per_IP": 0.06667
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.158,
"predicted_H": 0.453,
"predicted_BB": 0.255,
"predicted_SO": 1.351,
"predicted_HR": 0.046,
"predicted_ERA": 1.4177,
"predicted_WHIP": 0.7085
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4531,
"form_weight": 0.5469,
"form_reliability": 0.7559,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.483,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7559,
"prior_weight": 0.2441
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.158,
"final": 0.0864,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.453,
"final": 1.154,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.255,
"final": 0.1395,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.351,
"final": 1.192,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.046,
"final": 0.0252,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.4177,
"final": 1.4177,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7085,
"final": 0.7085,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Erik Sabrowski |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5594 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0383 |
| Avg Velo | 90.5485 |
| Avg Spin | 2569.9294 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.5200 |
| Season WHIP | 1.0600 |
| Role Avg IP | 0.8470 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.068,
"opponent_offense_edge": 0.0667,
"defense_strength": 0.0907,
"opponent_defense_weakness": -0.0104,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0013,
"strikeout": 0.9949
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681870",
"profile": {
"available": true,
"pitcher_id": "681870",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 180.0,
"k_percent": 37.4,
"bb_percent": 15.3,
"woba": 0.258,
"xwoba": 0.251,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 34.0,
"avg_best_speed": 79.9885,
"avg_hyper_speed": 93.7378,
"whiff_percent": 30.8,
"swing_percent": 46.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9012,
"command_and_miss": 0.9586,
"regression_edge": 0.2,
"xwoba_edge": 1.7429,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.5571,
"whiff_edge": 0.8,
"bb_edge": -1.525,
"pitch_design_score": 0.0383
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681870",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.54853071894294,
"release_spin_rate": 2569.9294048098436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.54853071894294,
"release_spin_rate": 2569.9294048098436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.5485,
"release_spin_rate": 2569.9294,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0383,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2738,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.5594,
"sample_weight": 0.72,
"run_prevention_factor": 0.9525,
"strikeout_factor": 1.086,
"walk_factor": 1.0878,
"homer_factor": 0.9373,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "681870",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9658,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9658,
"adjusted": 0
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0632,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9549,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0619,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 2,
"BB": 6,
"SO": 13,
"HR": 0,
"ERA": 1.6874999999999998,
"WHIP": 0.7499999999999999,
"K9": 10.968749999999998,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "681870",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.54853071894294,
"release_spin_rate": 2569.9294048098436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.54853071894294,
"release_spin_rate": 2569.9294048098436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.5485,
"release_spin_rate": 2569.9294,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0383,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2738,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.322,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6737,
"prior_weight": 0.3263
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681870",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 59,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 5.0,
"SO": 8.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 1.0,
"SO": 1.6,
"HR": 0.0,
"BF": 4.4,
"Pitches": 18.0
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.3125,
"ER_per_IP": 0.1875,
"H_per_IP": 0.375,
"BB_per_IP": 0.9375,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 6.0,
"SO": 13.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 149.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.6,
"SO": 1.3,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.9
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.75,
"ER_per_IP": 0.1875,
"H_per_IP": 0.1875,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.21875,
"HR_per_IP": 0.0
}
},
"season": {
"games": 59,
"totals": {
"IP": 50.0,
"ER": 14.0,
"R": 16.0,
"H": 25.0,
"BB": 28.0,
"SO": 78.0,
"HR": 3.0,
"BF": 203.0,
"Pitches": 821.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2373,
"R": 0.2712,
"H": 0.4237,
"BB": 0.4746,
"SO": 1.322,
"HR": 0.0508,
"BF": 3.4407,
"Pitches": 13.9153
},
"rates": {
"ERA": 2.52,
"WHIP": 1.06,
"ER_per_IP": 0.28,
"H_per_IP": 0.5,
"BB_per_IP": 0.56,
"SO_per_IP": 1.56,
"HR_per_IP": 0.06
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.306,
"predicted_H": 0.546,
"predicted_BB": 0.616,
"predicted_SO": 1.257,
"predicted_HR": 0.056,
"predicted_ERA": 2.7561,
"predicted_WHIP": 1.1628
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4879,
"form_weight": 0.5121,
"form_reliability": 0.6737,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.322,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6737,
"prior_weight": 0.3263
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.306,
"final": 0.6446,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.546,
"final": 1.2554,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.616,
"final": 0.3155,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.257,
"final": 1.6195,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.056,
"final": 0.0287,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7561,
"final": 2.7561,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1628,
"final": 1.1628,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Hunter Gaddis |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1344 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.8187 |
| Season WHIP | 1.2033 |
| Role Avg IP | 0.8920 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.932,
"defense_index": 1.0907,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0667,
"defense_index": 1.0104,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.068,
"opponent_offense_edge": 0.0667,
"defense_strength": 0.0907,
"opponent_defense_weakness": -0.0104,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0013,
"strikeout": 0.9949
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683769",
"profile": {
"available": true,
"pitcher_id": "683769",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 230.0,
"k_percent": 22.2,
"bb_percent": 8.6,
"woba": 0.3,
"xwoba": 0.311,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 29.9,
"avg_best_speed": 75.513,
"avg_hyper_speed": 92.3528,
"whiff_percent": 29.5,
"swing_percent": 51.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2002,
"command_and_miss": 0.2514,
"regression_edge": -0.3143,
"xwoba_edge": 0.0286,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.1429,
"whiff_edge": 0.6143,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683769",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1344,
"sample_weight": 0.92,
"run_prevention_factor": 0.9886,
"strikeout_factor": 1.0231,
"walk_factor": 0.989,
"homer_factor": 0.9621,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683769",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9895,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9895,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9651,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0213,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 4,
"H": 13,
"BB": 1,
"SO": 8,
"HR": 2,
"ERA": 4.0,
"WHIP": 1.5555555555555556,
"K9": 8.0,
"HR9": 2.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": false,
"pitcher_id": "683769",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.524,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7147,
"prior_weight": 0.2853
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "683769",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 68,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 1.0,
"SO": 4.0,
"HR": 2.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.4,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 6.75,
"WHIP": 2.25,
"ER_per_IP": 0.75,
"H_per_IP": 2.0,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 4.0,
"R": 4.0,
"H": 13.0,
"BB": 1.0,
"SO": 8.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.3,
"BB": 0.1,
"SO": 0.8,
"HR": 0.2,
"BF": 3.9,
"Pitches": 14.3
},
"rates": {
"ERA": 4.0,
"WHIP": 1.5556,
"ER_per_IP": 0.44444,
"H_per_IP": 1.44444,
"BB_per_IP": 0.11111,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 68,
"totals": {
"IP": 60.2,
"ER": 19.0,
"R": 19.0,
"H": 53.0,
"BB": 20.0,
"SO": 57.0,
"HR": 7.0,
"BF": 254.0,
"Pitches": 971.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2794,
"R": 0.2794,
"H": 0.7794,
"BB": 0.2941,
"SO": 0.8382,
"HR": 0.1029,
"BF": 3.7353,
"Pitches": 14.2794
},
"rates": {
"ERA": 2.8187,
"WHIP": 1.2033,
"ER_per_IP": 0.31319,
"H_per_IP": 0.87363,
"BB_per_IP": 0.32967,
"SO_per_IP": 0.93956,
"HR_per_IP": 0.11538
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.485,
"predicted_H": 1.259,
"predicted_BB": 0.236,
"predicted_SO": 0.844,
"predicted_HR": 0.246,
"predicted_ERA": 4.8921,
"predicted_WHIP": 1.6741
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4705,
"form_weight": 0.5295,
"form_reliability": 0.7147,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.524,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7147,
"prior_weight": 0.2853
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.485,
"final": 0.2568,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.259,
"final": 0.6666,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.236,
"final": 0.5955,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.844,
"final": 0.4469,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.246,
"final": 0.1302,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8921,
"final": 4.8921,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6741,
"final": 1.6741,
"source": "form_only"
}
}
}{
"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."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.144 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.623 | 4.000 | 4.000 | Hitting_AB | 3.722 | 3.000 | 0.278 | 1.000 |
| predicted_AVG | 0.282 | 0.250 | 0.250 | Hitting_AVG | 0.285 | 0.000 | -0.035 | 0.250 |
| predicted_BB | 0.568 | 0.000 | 1.000 | Hitting_BB | 0.591 | 1.000 | -0.591 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 1.021 | 1.000 | 1.000 | Hitting_H | 1.059 | 0.000 | -0.059 | 1.000 |
| predicted_HR | 0.021 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.379 | 0.250 | 0.400 | Hitting_OBP | 0.384 | 0.250 | -0.134 | 0.000 |
| predicted_R | 0.534 | 1.000 | 1.000 | Hitting_R | 0.605 | 0.000 | 0.395 | 1.000 |
| predicted_RBI | 0.219 | 0.000 | 0.000 | Hitting_RBI | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_SLG | 0.350 | 0.250 | 0.250 | Hitting_SLG | 0.352 | 0.000 | -0.102 | 0.250 |
| predicted_SO | 0.390 | 0.000 | 0.000 | Hitting_SO | 0.423 | 0.000 | -0.423 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_R: 0.5340 -> 1.0000 (boost 0.4660, better) |
| Biggest Deboost | predicted_BB: 0.5680 -> 0.0000 (deboost -0.5680, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.5680 -> 0.6278 (boost 0.0598, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 2 | 3 | 3 | 2 | predicted_AB: 3.6064 -> 4.0000 (boost 0.3936, better) | predicted_SO: 0.3582 -> 0.0000 (deboost -0.3582, better) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 HR/AB=0.005 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5075 -> 1.0000 (boost 0.4925, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 4 | 3 | 1 | 2 | 2 | predicted_SO: 0.0000 -> 0.4407 (boost 0.4407, worse) | predicted_BB: 1.0000 -> 0.5031 (deboost -0.4969, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.5031 -> 1.0000 (boost 0.4969, better) | predicted_SO: 0.4407 -> 0.0000 (deboost -0.4407, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3889 -> 0.3560 (deboost -0.0329, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3560 -> 0.3889 (boost 0.0329, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.144,
"predicted_3B": 0.021,
"predicted_AB": 3.623,
"predicted_AVG": 0.282,
"predicted_BB": 0.568,
"predicted_H": 1.021,
"predicted_HR": 0.021,
"predicted_OBP": 0.379,
"predicted_R": 0.534,
"predicted_RBI": 0.219,
"predicted_SLG": 0.35,
"predicted_SO": 0.39
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.12,
"predicted_3B": 0.0433,
"predicted_AB": 3.6064,
"predicted_AVG": 0.2842,
"predicted_BB": 0.6278,
"predicted_H": 1.0245,
"predicted_HBP": 0.013,
"predicted_HR": 0.0193,
"predicted_OBP": 0.3896,
"predicted_R": 0.5109,
"predicted_RBI": 0.2207,
"predicted_SLG": 0.3572,
"predicted_SO": 0.3573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.12,
"delta": -0.024,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0433,
"delta": 0.0223,
"percent_delta": 1.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.623,
"after": 3.6064,
"delta": -0.0166,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2842,
"delta": 0.0022,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.6278,
"delta": 0.0598,
"percent_delta": 0.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.021,
"after": 1.0245,
"delta": 0.0035,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.021,
"after": 0.0193,
"delta": -0.0017,
"percent_delta": -0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.379,
"after": 0.3896,
"delta": 0.0106,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.534,
"after": 0.5109,
"delta": -0.0231,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.219,
"after": 0.2207,
"delta": 0.0017,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3572,
"delta": 0.0072,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.39,
"after": 0.3573,
"delta": -0.0327,
"percent_delta": -0.0838,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.568,
"after": 0.6278,
"delta": 0.0598,
"percent_delta": 0.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 146
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.12,
"predicted_3B": 0.0433,
"predicted_AB": 3.6064,
"predicted_AVG": 0.2828,
"predicted_BB": 0.6262,
"predicted_H": 1.02,
"predicted_HBP": 0.013,
"predicted_HR": 0.0191,
"predicted_OBP": 0.3889,
"predicted_R": 0.5075,
"predicted_RBI": 0.2192,
"predicted_SLG": 0.356,
"predicted_SO": 0.3582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.12,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0433,
"after": 0.0433,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6064,
"after": 3.6064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2842,
"after": 0.2828,
"delta": -0.0014,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6278,
"after": 0.6262,
"delta": -0.0016,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0245,
"after": 1.02,
"delta": -0.0045,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0193,
"after": 0.0191,
"delta": -0.0002,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3896,
"after": 0.3889,
"delta": -0.0007,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5109,
"after": 0.5075,
"delta": -0.0034,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2207,
"after": 0.2192,
"delta": -0.0015,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3572,
"after": 0.356,
"delta": -0.0012,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.3573,
"after": 0.3582,
"delta": 0.0009,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 HR/AB=0.005",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0433,
"after": 0.0,
"delta": -0.0433,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6064,
"after": 4.0,
"delta": 0.3936,
"percent_delta": 0.1091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6262,
"after": 1.0,
"delta": 0.3738,
"percent_delta": 0.5969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2192,
"after": 0.0,
"delta": -0.2192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3582,
"after": 0.0,
"delta": -0.3582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6064,
"after": 4.0,
"delta": 0.3936,
"percent_delta": 0.1091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3582,
"after": 0.0,
"delta": -0.3582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5075,
"after": 1.0,
"delta": 0.4925,
"percent_delta": 0.9704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5075,
"after": 1.0,
"delta": 0.4925,
"percent_delta": 0.9704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.0186,
"predicted_BB": 0.5031,
"predicted_H": 1.0348,
"predicted_HR": 0.046,
"predicted_RBI": 0.2951,
"predicted_SO": 0.4407
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.161,
"delta": 0.161,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0186,
"delta": 0.0186,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5031,
"delta": -0.4969,
"percent_delta": -0.4969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0348,
"delta": 0.0348,
"percent_delta": 0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.046,
"delta": 0.046,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.2951,
"delta": 0.2951,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.4407,
"delta": 0.4407,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.4407,
"delta": 0.4407,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5031,
"delta": -0.4969,
"percent_delta": -0.4969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0186,
"after": 0.0,
"delta": -0.0186,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5031,
"after": 1.0,
"delta": 0.4969,
"percent_delta": 0.9877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0348,
"after": 1.0,
"delta": -0.0348,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2951,
"after": 0.0,
"delta": -0.2951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4407,
"after": 0.0,
"delta": -0.4407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5031,
"after": 1.0,
"delta": 0.4969,
"percent_delta": 0.9877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4407,
"after": 0.0,
"delta": -0.4407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.267,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.356,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.353,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2828,
"after": 0.267,
"delta": -0.0158,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3889,
"after": 0.356,
"delta": -0.0329,
"percent_delta": -0.0846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.353,
"delta": -0.003,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3889,
"after": 0.356,
"delta": -0.0329,
"percent_delta": -0.0846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2828,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3889,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.356,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2828,
"delta": 0.0158,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3889,
"delta": 0.0329,
"percent_delta": 0.0925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.356,
"delta": 0.003,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3889,
"delta": 0.0329,
"percent_delta": 0.0925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.623,
"after": 4.0,
"delta": 0.377,
"percent_delta": 0.1041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2828,
"delta": 0.0008,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.0,
"delta": -0.568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.021,
"after": 1.0,
"delta": -0.021,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.379,
"after": 0.3889,
"delta": 0.0099,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.534,
"after": 1.0,
"delta": 0.466,
"percent_delta": 0.8727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.219,
"after": 0.0,
"delta": -0.219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.356,
"delta": 0.006,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.534,
"after": 1.0,
"delta": 0.466,
"percent_delta": 0.8727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.568,
"after": 0.0,
"delta": -0.568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.623 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.568 | - |
| predicted_H | 1.021 | - |
| predicted_HR | 0.021 | - |
| predicted_OBP | 0.379 | - |
| predicted_R | 0.534 | - |
| predicted_RBI | 0.219 | - |
| predicted_SLG | 0.350 | - |
| predicted_SO | 0.390 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | -0.024 |
| predicted_3B | 0.043 | 0.022 |
| predicted_AB | 3.606 | -0.017 |
| predicted_AVG | 0.284 | 0.002 |
| predicted_BB | 0.628 | 0.060 |
| predicted_H | 1.024 | 0.004 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.019 | -0.002 |
| predicted_OBP | 0.390 | 0.011 |
| predicted_R | 0.511 | -0.023 |
| predicted_RBI | 0.221 | 0.002 |
| predicted_SLG | 0.357 | 0.007 |
| predicted_SO | 0.357 | -0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.606 | 0.000 |
| predicted_AVG | 0.283 | -0.001 |
| predicted_BB | 0.626 | -0.002 |
| predicted_H | 1.020 | -0.004 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.019 | -0.000 |
| predicted_OBP | 0.389 | -0.001 |
| predicted_R | 0.507 | -0.003 |
| predicted_RBI | 0.219 | -0.002 |
| predicted_SLG | 0.356 | -0.001 |
| predicted_SO | 0.358 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 HR/AB=0.005
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.161 | 0.161 |
| 3B | 0.019 | 0.019 |
| BB | 0.503 | -0.497 |
| H | 1.035 | 0.035 |
| HR | 0.046 | 0.046 |
| RBI | 0.295 | 0.295 |
| SO | 0.441 | 0.441 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.161 |
| 3B | 0.000 | -0.019 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.497 |
| H | 1.000 | -0.035 |
| HR | 0.000 | -0.046 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.295 |
| SO | 0.000 | -0.441 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.120 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 4.000 | 0.394 |
| predicted_AVG | 0.267 | -0.016 |
| predicted_BB | 1.000 | 0.374 |
| predicted_H | 1.000 | -0.020 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.356 | -0.033 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 0.000 | -0.219 |
| predicted_SLG | 0.353 | -0.003 |
| predicted_SO | 0.000 | -0.358 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.000 | 0.2941 | 0.4545 | 0.4118 | 0.2941 | 0.0000 | 0.0588 | 0.2941 | 0.0000 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 0.000 | 1.000 | 0.000 | 2.000 | 4.000 | 9.000 | 3.000 | 0.3056 | 0.4444 | 0.3611 | 0.3056 | 0.0000 | 0.0556 | 0.2500 | 0.0833 |
| season | 0.60 | 146 | - | 529.000 | 149.000 | 21.000 | 3.000 | 3.000 | 32.000 | 78.000 | 83.000 | 57.000 | 0.2817 | 0.3803 | 0.3497 | 0.2817 | 0.0057 | 0.0605 | 0.1569 | 0.1077 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0720 |
| predicted_AB | 3.5850 |
| predicted_AVG | 0.2871 |
| predicted_BB | 0.7050 |
| predicted_H | 1.0290 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.4032 |
| predicted_R | 0.4810 |
| predicted_RBI | 0.2230 |
| predicted_SLG | 0.3664 |
| predicted_SO | 0.3150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1440 | 0.0890 | 0.1200 | model_form_blend |
| predicted_3B | 0.0210 | 0.0720 | 0.0433 | model_form_blend |
| predicted_AB | 3.6230 | 3.5850 | 3.6064 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2871 | 0.2842 | model_form_blend |
| predicted_BB | 0.5680 | 0.7050 | 0.6278 | model_form_blend |
| predicted_H | 1.0210 | 1.0290 | 1.0245 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0210 | 0.0170 | 0.0193 | model_form_blend |
| predicted_OBP | 0.3790 | 0.4032 | 0.3896 | model_form_blend |
| predicted_R | 0.5340 | 0.4810 | 0.5109 | model_form_blend |
| predicted_RBI | 0.2190 | 0.2230 | 0.2207 | model_form_blend |
| predicted_SLG | 0.3500 | 0.3664 | 0.3572 | model_form_blend |
| predicted_SO | 0.3900 | 0.3150 | 0.3573 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 607 |
| Season rows before report date | 607 |
| Report year | 2026 |
| Profile rows used | 146 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 680757 |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 9.7 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.334 |
| sl_xwoba | 0.329 |
| sl_xba | 0.278 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 0.4 |
| sl_hard_hit_percent | 10.5 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 8.2 |
| sl_swing_percent | 35.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.164 | 0.000 | 1.000 | Hitting_2B | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.799 | 4.000 | 4.000 | Hitting_AB | 3.913 | 4.000 | 0.087 | 0.000 |
| predicted_AVG | 0.238 | 0.250 | 0.250 | Hitting_AVG | 0.236 | 0.000 | 0.014 | 0.250 |
| predicted_BB | 0.214 | 0.000 | 0.000 | Hitting_BB | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.906 | 1.000 | 1.000 | Hitting_H | 0.924 | 0.000 | 0.076 | 1.000 |
| predicted_HR | 0.145 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.279 | 0.250 | 0.250 | Hitting_OBP | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_R | 0.440 | 0.000 | 1.000 | Hitting_R | 0.523 | 0.000 | -0.523 | 0.000 |
| predicted_RBI | 0.585 | 0.000 | 1.000 | Hitting_RBI | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_SLG | 0.399 | 0.250 | 0.500 | Hitting_SLG | 0.410 | 0.000 | -0.160 | 0.250 |
| predicted_SO | 1.006 | 1.000 | 1.000 | Hitting_SO | 1.105 | 4.000 | -0.105 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.7990 -> 4.0000 (boost 0.2010, better) |
| Biggest Deboost | predicted_RBI: 0.5850 -> 0.0000 (deboost -0.5850, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_BB: 0.2140 -> 0.2708 (boost 0.0568, better) | predicted_RBI: 0.5850 -> 0.5190 (deboost -0.0660, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2906 -> 0.2853 (deboost -0.0053, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 3 | 4 | predicted_RBI: 0.5156 -> 1.0000 (boost 0.4844, better) | predicted_BB: 0.2701 -> 0.0000 (deboost -0.2701, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.237 HR/AB=0.038 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4732 -> 0.0000 (deboost -0.4732, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.2637 (boost 0.2637, better) | predicted_RBI: 1.0000 -> 0.5430 (deboost -0.4570, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 4 | 2 | 4 | 2 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 0.2637 -> 0.0000 (deboost -0.2637, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 5 | 3 | 2 | 3 | 2 | predicted_OBP: 0.2853 -> 0.3010 (boost 0.0157, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3010 -> 0.2853 (deboost -0.0157, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "DH",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.006,
"predicted_AB": 3.799,
"predicted_AVG": 0.238,
"predicted_BB": 0.214,
"predicted_H": 0.906,
"predicted_HR": 0.145,
"predicted_OBP": 0.279,
"predicted_R": 0.44,
"predicted_RBI": 0.585,
"predicted_SLG": 0.399,
"predicted_SO": 1.006
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1618,
"predicted_3B": 0.0051,
"predicted_AB": 3.8073,
"predicted_AVG": 0.2354,
"predicted_BB": 0.2708,
"predicted_H": 0.8973,
"predicted_HBP": 0.067,
"predicted_HR": 0.1454,
"predicted_OBP": 0.2906,
"predicted_R": 0.4763,
"predicted_RBI": 0.519,
"predicted_SLG": 0.3955,
"predicted_SO": 1.0021
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1618,
"delta": -0.0022,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0051,
"delta": -0.0009,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.799,
"after": 3.8073,
"delta": 0.0083,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2354,
"delta": -0.0026,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.2708,
"delta": 0.0568,
"percent_delta": 0.2654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.906,
"after": 0.8973,
"delta": -0.0087,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.145,
"after": 0.1454,
"delta": 0.0004,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2906,
"delta": 0.0116,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.4763,
"delta": 0.0363,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.585,
"after": 0.519,
"delta": -0.066,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.3955,
"delta": -0.0035,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.006,
"after": 1.0021,
"delta": -0.0039,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.214,
"after": 0.2708,
"delta": 0.0568,
"percent_delta": 0.2654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.585,
"after": 0.519,
"delta": -0.066,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 159
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1618,
"predicted_3B": 0.0051,
"predicted_AB": 3.8073,
"predicted_AVG": 0.2346,
"predicted_BB": 0.2701,
"predicted_H": 0.8934,
"predicted_HBP": 0.067,
"predicted_HR": 0.1441,
"predicted_OBP": 0.2853,
"predicted_R": 0.4732,
"predicted_RBI": 0.5156,
"predicted_SLG": 0.3934,
"predicted_SO": 1.0046
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1618,
"after": 0.1618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8073,
"after": 3.8073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.2346,
"delta": -0.0008,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2708,
"after": 0.2701,
"delta": -0.0007,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8973,
"after": 0.8934,
"delta": -0.0039,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1454,
"after": 0.1441,
"delta": -0.0013,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2906,
"after": 0.2853,
"delta": -0.0053,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4763,
"after": 0.4732,
"delta": -0.0031,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.519,
"after": 0.5156,
"delta": -0.0034,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3955,
"after": 0.3934,
"delta": -0.0021,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0021,
"after": 1.0046,
"delta": 0.0025,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2906,
"after": 0.2853,
"delta": -0.0053,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.237 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1618,
"after": 0.0,
"delta": -0.1618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0,
"delta": -0.0051,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8073,
"after": 4.0,
"delta": 0.1927,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2701,
"after": 0.0,
"delta": -0.2701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8934,
"after": 1.0,
"delta": 0.1066,
"percent_delta": 0.1193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1441,
"after": 0.0,
"delta": -0.1441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5156,
"after": 1.0,
"delta": 0.4844,
"percent_delta": 0.9395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0046,
"after": 1.0,
"delta": -0.0046,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5156,
"after": 1.0,
"delta": 0.4844,
"percent_delta": 0.9395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2701,
"after": 0.0,
"delta": -0.2701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4732,
"after": 0.0,
"delta": -0.4732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4732,
"after": 0.0,
"delta": -0.4732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1862,
"predicted_3B": 0.0111,
"predicted_BB": 0.2637,
"predicted_H": 0.9489,
"predicted_HR": 0.1302,
"predicted_RBI": 0.543,
"predicted_SO": 0.9574
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1862,
"delta": 0.1862,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0111,
"delta": 0.0111,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2637,
"delta": 0.2637,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9489,
"delta": -0.0511,
"percent_delta": -0.0511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1302,
"delta": 0.1302,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.543,
"delta": -0.457,
"percent_delta": -0.457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9574,
"delta": -0.0426,
"percent_delta": -0.0426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2637,
"delta": 0.2637,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.543,
"delta": -0.457,
"percent_delta": -0.457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1862,
"after": 1.0,
"delta": 0.8138,
"percent_delta": 4.3706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0111,
"after": 0.0,
"delta": -0.0111,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2637,
"after": 0.0,
"delta": -0.2637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9489,
"after": 1.0,
"delta": 0.0511,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1302,
"after": 0.0,
"delta": -0.1302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9574,
"after": 1.0,
"delta": 0.0426,
"percent_delta": 0.0445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2637,
"after": 0.0,
"delta": -0.2637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.247,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2346,
"after": 0.247,
"delta": 0.0124,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2853,
"after": 0.301,
"delta": 0.0157,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3934,
"after": 0.403,
"delta": 0.0096,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2853,
"after": 0.301,
"delta": 0.0157,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2346,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2853,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3934,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2346,
"delta": -0.0124,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2853,
"delta": -0.0157,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3934,
"delta": -0.0096,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2853,
"delta": -0.0157,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.799,
"after": 4.0,
"delta": 0.201,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2346,
"delta": -0.0034,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2853,
"delta": 0.0063,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.3934,
"delta": -0.0056,
"percent_delta": -0.014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.006,
"after": 1.0,
"delta": -0.006,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.799,
"after": 4.0,
"delta": 0.201,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 3.799 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.214 | - |
| predicted_H | 0.906 | - |
| predicted_HR | 0.145 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.440 | - |
| predicted_RBI | 0.585 | - |
| predicted_SLG | 0.399 | - |
| predicted_SO | 1.006 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | -0.002 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.807 | 0.008 |
| predicted_AVG | 0.235 | -0.003 |
| predicted_BB | 0.271 | 0.057 |
| predicted_H | 0.897 | -0.009 |
| predicted_HBP | 0.067 | - |
| predicted_HR | 0.145 | 0.000 |
| predicted_OBP | 0.291 | 0.012 |
| predicted_R | 0.476 | 0.036 |
| predicted_RBI | 0.519 | -0.066 |
| predicted_SLG | 0.396 | -0.004 |
| predicted_SO | 1.002 | -0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.807 | 0.000 |
| predicted_AVG | 0.235 | -0.001 |
| predicted_BB | 0.270 | -0.001 |
| predicted_H | 0.893 | -0.004 |
| predicted_HBP | 0.067 | 0.000 |
| predicted_HR | 0.144 | -0.001 |
| predicted_OBP | 0.285 | -0.005 |
| predicted_R | 0.473 | -0.003 |
| predicted_RBI | 0.516 | -0.003 |
| predicted_SLG | 0.393 | -0.002 |
| predicted_SO | 1.005 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.237 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.186 | 0.186 |
| 3B | 0.011 | 0.011 |
| BB | 0.264 | 0.264 |
| H | 0.949 | -0.051 |
| HR | 0.130 | 0.130 |
| RBI | 0.543 | -0.457 |
| SO | 0.957 | -0.043 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.814 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.264 |
| H | 1.000 | 0.051 |
| HR | 0.000 | -0.130 |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.457 |
| SO | 1.000 | 0.043 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | 0.193 |
| predicted_AVG | 0.247 | 0.012 |
| predicted_BB | 0.000 | -0.270 |
| predicted_H | 1.000 | 0.107 |
| predicted_HR | 0.000 | -0.144 |
| predicted_OBP | 0.301 | 0.016 |
| predicted_R | 0.000 | -0.473 |
| predicted_RBI | 1.000 | 0.484 |
| predicted_SLG | 0.403 | 0.010 |
| predicted_SO | 1.000 | -0.005 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 4.000 | 3.000 | 5.000 | 0.2105 | 0.3182 | 0.4211 | 0.2105 | 0.0526 | 0.0526 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 5.000 | 10.000 | 0.2308 | 0.3182 | 0.3333 | 0.2308 | 0.0256 | 0.0513 | 0.1282 | 0.2564 |
| season | 0.60 | 159 | - | 604.000 | 144.000 | 26.000 | 1.000 | 23.000 | 93.000 | 70.000 | 34.000 | 160.000 | 0.2384 | 0.2970 | 0.3990 | 0.2384 | 0.0381 | 0.1540 | 0.0563 | 0.2649 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8180 |
| predicted_AVG | 0.2320 |
| predicted_BB | 0.3440 |
| predicted_H | 0.8860 |
| predicted_HBP | 0.0670 |
| predicted_HR | 0.1460 |
| predicted_OBP | 0.3055 |
| predicted_R | 0.5230 |
| predicted_RBI | 0.4340 |
| predicted_SLG | 0.3910 |
| predicted_SO | 0.9970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1590 | 0.1618 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 3.7990 | 3.8180 | 3.8073 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2320 | 0.2354 | model_form_blend |
| predicted_BB | 0.2140 | 0.3440 | 0.2708 | model_form_blend |
| predicted_H | 0.9060 | 0.8860 | 0.8973 | model_form_blend |
| predicted_HBP | - | 0.0670 | 0.0670 | form_only |
| predicted_HR | 0.1450 | 0.1460 | 0.1454 | model_form_blend |
| predicted_OBP | 0.2790 | 0.3055 | 0.2906 | model_form_blend |
| predicted_R | 0.4400 | 0.5230 | 0.4763 | model_form_blend |
| predicted_RBI | 0.5850 | 0.4340 | 0.5190 | model_form_blend |
| predicted_SLG | 0.3990 | 0.3910 | 0.3955 | model_form_blend |
| predicted_SO | 1.0060 | 0.9970 | 1.0021 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 172 |
| Season rows before report date | 172 |
| Report year | 2026 |
| Profile rows used | 159 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 4 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.329 |
| sl_xba | 0.257 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.221 | 0.000 | 1.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.330 | 4.000 | 4.000 | Hitting_AB | 3.829 | 3.000 | 0.171 | 1.000 |
| predicted_AVG | 0.221 | 0.000 | 0.250 | Hitting_AVG | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_BB | 0.492 | 0.000 | 1.000 | Hitting_BB | 0.516 | 1.000 | -0.516 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.898 | 0.000 | -0.898 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.319 | 0.000 | 0.400 | Hitting_OBP | 0.326 | 0.250 | -0.326 | -0.250 |
| predicted_R | 0.566 | 0.000 | 1.000 | Hitting_R | 0.580 | 0.000 | -0.580 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.500 | Hitting_SLG | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_SO | 0.566 | 1.000 | 1.000 | Hitting_SO | 0.569 | 1.000 | 0.431 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.5660 -> 1.0000 (boost 0.4340, worse) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.3300 -> 4.1254 (deboost -0.2046, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3502 -> 0.3292 (deboost -0.0210, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.9255 -> 1.0000 (boost 0.0745, better) | predicted_SO: 0.5474 -> 0.0000 (deboost -0.5474, better) | AB rounded to 4 (raw=4.33), rates preserved: AVG=0.216 HR/AB=0.017 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5739 -> 1.0000 (boost 0.4261, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 5 | 0 | 4 | 1 | predicted_SO: 0.0000 -> 0.5719 (boost 0.5719, worse) | - | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 5 | 3 | 2 | 2 | 3 | predicted_2B: 0.2138 -> 1.0000 (boost 0.7862, better) | predicted_RBI: 0.4377 -> 0.0000 (deboost -0.4377, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 6 | 3 | 3 | 4 | 2 | predicted_SLG: 0.3292 -> 0.3730 (boost 0.0438, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3730 -> 0.3292 (deboost -0.0438, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608070",
"player_name": "José Ramírez",
"position": "3B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.0,
"predicted_AB": 4.33,
"predicted_AVG": 0.221,
"predicted_BB": 0.492,
"predicted_H": 0.96,
"predicted_HR": 0.07,
"predicted_OBP": 0.319,
"predicted_R": 0.566,
"predicted_RBI": 0.51,
"predicted_SLG": 0.355,
"predicted_SO": 0.566
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0004,
"predicted_AB": 4.1254,
"predicted_AVG": 0.2253,
"predicted_BB": 0.4885,
"predicted_H": 0.9296,
"predicted_HBP": 0.016,
"predicted_HR": 0.0752,
"predicted_OBP": 0.3166,
"predicted_R": 0.5777,
"predicted_RBI": 0.4805,
"predicted_SLG": 0.3502,
"predicted_SO": 0.546
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.208,
"delta": -0.013,
"percent_delta": -0.0588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.1254,
"delta": -0.2046,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2253,
"delta": 0.0043,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 0.4885,
"delta": -0.0035,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9296,
"delta": -0.0304,
"percent_delta": -0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0752,
"delta": 0.0052,
"percent_delta": 0.0743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3166,
"delta": -0.0024,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.566,
"after": 0.5777,
"delta": 0.0117,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4805,
"delta": -0.0295,
"percent_delta": -0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3502,
"delta": -0.0048,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.566,
"after": 0.546,
"delta": -0.02,
"percent_delta": -0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 4.1254,
"delta": -0.2046,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 122
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0004,
"predicted_AB": 4.1254,
"predicted_AVG": 0.2243,
"predicted_BB": 0.4873,
"predicted_H": 0.9255,
"predicted_HBP": 0.016,
"predicted_HR": 0.0745,
"predicted_OBP": 0.3063,
"predicted_R": 0.5739,
"predicted_RBI": 0.4773,
"predicted_SLG": 0.3292,
"predicted_SO": 0.5474
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1254,
"after": 4.1254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2253,
"after": 0.2243,
"delta": -0.001,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4885,
"after": 0.4873,
"delta": -0.0012,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9296,
"after": 0.9255,
"delta": -0.0041,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0752,
"after": 0.0745,
"delta": -0.0007,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3166,
"after": 0.3063,
"delta": -0.0103,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5777,
"after": 0.5739,
"delta": -0.0038,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4805,
"after": 0.4773,
"delta": -0.0032,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3502,
"after": 0.3292,
"delta": -0.021,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.546,
"after": 0.5474,
"delta": 0.0014,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3502,
"after": 0.3292,
"delta": -0.021,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.33), rates preserved: AVG=0.216 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1254,
"after": 4.0,
"delta": -0.1254,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4873,
"after": 0.0,
"delta": -0.4873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9255,
"after": 1.0,
"delta": 0.0745,
"percent_delta": 0.0805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0745,
"after": 0.0,
"delta": -0.0745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4773,
"after": 0.0,
"delta": -0.4773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5474,
"after": 0.0,
"delta": -0.5474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9255,
"after": 1.0,
"delta": 0.0745,
"percent_delta": 0.0805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5474,
"after": 0.0,
"delta": -0.5474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5739,
"after": 1.0,
"delta": 0.4261,
"percent_delta": 0.7425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5739,
"after": 1.0,
"delta": 0.4261,
"percent_delta": 0.7425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2138,
"predicted_3B": 0.0097,
"predicted_BB": 0.519,
"predicted_H": 0.9571,
"predicted_HR": 0.1015,
"predicted_RBI": 0.4377,
"predicted_SO": 0.5719
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2138,
"delta": 0.2138,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0097,
"delta": 0.0097,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.519,
"delta": 0.519,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9571,
"delta": -0.0429,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1015,
"delta": 0.1015,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4377,
"delta": 0.4377,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5719,
"delta": 0.5719,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5719,
"delta": 0.5719,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2138,
"after": 1.0,
"delta": 0.7862,
"percent_delta": 3.6773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0,
"delta": -0.0097,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 1.0,
"delta": 0.481,
"percent_delta": 0.9268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9571,
"after": 1.0,
"delta": 0.0429,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1015,
"after": 0.0,
"delta": -0.1015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4377,
"after": 0.0,
"delta": -0.4377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5719,
"after": 1.0,
"delta": 0.4281,
"percent_delta": 0.7486,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.2138,
"after": 1.0,
"delta": 0.7862,
"percent_delta": 3.6773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4377,
"after": 0.0,
"delta": -0.4377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.239,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.331,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.373,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2243,
"after": 0.239,
"delta": 0.0147,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3063,
"after": 0.331,
"delta": 0.0247,
"percent_delta": 0.0806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3292,
"after": 0.373,
"delta": 0.0438,
"percent_delta": 0.133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3292,
"after": 0.373,
"delta": 0.0438,
"percent_delta": 0.133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2243,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3063,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3292,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2243,
"delta": -0.0147,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3063,
"delta": -0.0247,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3292,
"delta": -0.0438,
"percent_delta": -0.1175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3292,
"delta": -0.0438,
"percent_delta": -0.1175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.0,
"delta": -0.33,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2243,
"delta": 0.0033,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3063,
"delta": -0.0127,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.566,
"after": 0.0,
"delta": -0.566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3292,
"delta": -0.0258,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.330 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.492 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.566 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.566 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | -0.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.125 | -0.205 |
| predicted_AVG | 0.225 | 0.004 |
| predicted_BB | 0.488 | -0.004 |
| predicted_H | 0.930 | -0.030 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.075 | 0.005 |
| predicted_OBP | 0.317 | -0.002 |
| predicted_R | 0.578 | 0.012 |
| predicted_RBI | 0.480 | -0.030 |
| predicted_SLG | 0.350 | -0.005 |
| predicted_SO | 0.546 | -0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.125 | 0.000 |
| predicted_AVG | 0.224 | -0.001 |
| predicted_BB | 0.487 | -0.001 |
| predicted_H | 0.925 | -0.004 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.074 | -0.001 |
| predicted_OBP | 0.306 | -0.010 |
| predicted_R | 0.574 | -0.004 |
| predicted_RBI | 0.477 | -0.003 |
| predicted_SLG | 0.329 | -0.021 |
| predicted_SO | 0.547 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.33), rates preserved: AVG=0.216 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.214 | 0.214 |
| 3B | 0.010 | 0.010 |
| BB | 0.519 | 0.519 |
| H | 0.957 | -0.043 |
| HR | 0.102 | 0.102 |
| RBI | 0.438 | 0.438 |
| SO | 0.572 | 0.572 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.786 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.481 |
| H | 1.000 | 0.043 |
| HR | 0.000 | -0.102 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.438 |
| SO | 1.000 | 0.428 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.208 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.125 |
| predicted_AVG | 0.239 | 0.015 |
| predicted_BB | 0.000 | -0.487 |
| predicted_H | 1.000 | 0.075 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.331 | 0.025 |
| predicted_R | 1.000 | 0.426 |
| predicted_RBI | 0.000 | -0.477 |
| predicted_SLG | 0.373 | 0.044 |
| predicted_SO | 0.000 | -0.547 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 0.1579 | 0.2609 | 0.1579 | 0.1579 | 0.0000 | 0.1053 | 0.1579 | 0.1053 |
| last_10 | 0.20 | 10 | - | 41.000 | 12.000 | 3.000 | 0.000 | 1.000 | 5.000 | 7.000 | 4.000 | 4.000 | 0.2927 | 0.3478 | 0.4390 | 0.2927 | 0.0244 | 0.1220 | 0.0976 | 0.0976 |
| season | 0.60 | 122 | - | 464.000 | 108.000 | 27.000 | 0.000 | 12.000 | 53.000 | 69.000 | 60.000 | 69.000 | 0.2328 | 0.3202 | 0.3685 | 0.2328 | 0.0259 | 0.1142 | 0.1293 | 0.1487 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8590 |
| predicted_AVG | 0.2308 |
| predicted_BB | 0.4840 |
| predicted_H | 0.8900 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3134 |
| predicted_R | 0.5930 |
| predicted_RBI | 0.4420 |
| predicted_SLG | 0.3440 |
| predicted_SO | 0.5200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.1910 | 0.2080 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3300 | 3.8590 | 4.1254 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2308 | 0.2253 | model_form_blend |
| predicted_BB | 0.4920 | 0.4840 | 0.4885 | model_form_blend |
| predicted_H | 0.9600 | 0.8900 | 0.9296 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0700 | 0.0820 | 0.0752 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3134 | 0.3166 | model_form_blend |
| predicted_R | 0.5660 | 0.5930 | 0.5777 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4420 | 0.4805 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3440 | 0.3502 | model_form_blend |
| predicted_SO | 0.5660 | 0.5200 | 0.5460 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 510 |
| Season rows before report date | 510 |
| Report year | 2026 |
| Profile rows used | 122 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 608070 |
| playerID | 608070 |
| playerName | José Ramírez |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.301 |
| sl_xwoba | 0.325 |
| sl_xba | 0.266 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 15.3 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.188 | 0.000 | 0.000 | Hitting_2B | 0.188 | 1.000 | -0.188 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.171 | 3.000 | 4.000 | Hitting_AB | 3.493 | 2.000 | -0.493 | 1.000 |
| predicted_AVG | 0.264 | 0.000 | 0.250 | Hitting_AVG | 0.239 | 0.500 | -0.239 | -0.500 |
| predicted_BB | 0.308 | 1.000 | 0.000 | Hitting_BB | 0.312 | 1.000 | 0.688 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.370 | 0.000 | 1.000 | Hitting_H | 0.833 | 1.000 | -0.833 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.250 | Hitting_OBP | 0.294 | 0.667 | -0.044 | -0.417 |
| predicted_R | 0.299 | 0.000 | 0.000 | Hitting_R | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 1.000 | Hitting_RBI | 0.703 | 0.000 | -0.703 | 0.000 |
| predicted_SLG | 0.390 | 0.000 | 0.250 | Hitting_SLG | 0.411 | 1.000 | -0.411 | -1.000 |
| predicted_SO | 0.829 | 2.000 | 1.000 | Hitting_SO | 0.804 | 1.000 | 1.196 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8290 -> 2.0000 (boost 1.1710, worse) |
| Biggest Deboost | predicted_H: 0.3700 -> 0.0000 (deboost -0.3700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_H: 0.3700 -> 0.5417 (boost 0.1717, better) | predicted_SO: 0.8290 -> 0.7584 (deboost -0.0706, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3853 -> 0.2832 (deboost -0.1021, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.1620 -> 4.0000 (boost 0.8380, better) | predicted_RBI: 0.3934 -> 0.0000 (deboost -0.3934, worse) | AB rounded to 4 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.018 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2521 -> 0.0000 (deboost -0.2521, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5389 (boost 0.5389, better) | predicted_H: 1.0000 -> 0.8987 (deboost -0.1013, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.5389 -> 1.0000 (boost 0.4611, better) | predicted_BB: 0.3126 -> 0.0000 (deboost -0.3126, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.2832 -> 0.4110 (boost 0.1278, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4110 -> 0.2832 (deboost -0.1278, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.0,
"predicted_AB": 3.171,
"predicted_AVG": 0.264,
"predicted_BB": 0.308,
"predicted_H": 0.37,
"predicted_HR": 0.04,
"predicted_OBP": 0.298,
"predicted_R": 0.299,
"predicted_RBI": 0.26,
"predicted_SLG": 0.39,
"predicted_SO": 0.829
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1815,
"predicted_3B": 0.0004,
"predicted_AB": 3.162,
"predicted_AVG": 0.2554,
"predicted_BB": 0.2805,
"predicted_H": 0.5417,
"predicted_HBP": 0.031,
"predicted_HR": 0.0585,
"predicted_OBP": 0.2952,
"predicted_R": 0.2538,
"predicted_RBI": 0.396,
"predicted_SLG": 0.3853,
"predicted_SO": 0.7584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1815,
"delta": -0.0065,
"percent_delta": -0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.171,
"after": 3.162,
"delta": -0.009,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2554,
"delta": -0.0086,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 0.2805,
"delta": -0.0275,
"percent_delta": -0.0893,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.5417,
"delta": 0.1717,
"percent_delta": 0.4641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0585,
"delta": 0.0185,
"percent_delta": 0.4625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2952,
"delta": -0.0028,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.2538,
"delta": -0.0452,
"percent_delta": -0.1512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.396,
"delta": 0.136,
"percent_delta": 0.5231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3853,
"delta": -0.0047,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 0.7584,
"delta": -0.0706,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.37,
"after": 0.5417,
"delta": 0.1717,
"percent_delta": 0.4641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.829,
"after": 0.7584,
"delta": -0.0706,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 117
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1815,
"predicted_3B": 0.0004,
"predicted_AB": 3.162,
"predicted_AVG": 0.1706,
"predicted_BB": 0.2798,
"predicted_H": 0.5393,
"predicted_HBP": 0.031,
"predicted_HR": 0.058,
"predicted_OBP": 0.238,
"predicted_R": 0.2521,
"predicted_RBI": 0.3934,
"predicted_SLG": 0.2832,
"predicted_SO": 0.7603
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1815,
"after": 0.1815,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.162,
"after": 3.162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2554,
"after": 0.1706,
"delta": -0.0848,
"percent_delta": -0.332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2805,
"after": 0.2798,
"delta": -0.0007,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5417,
"after": 0.5393,
"delta": -0.0024,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0585,
"after": 0.058,
"delta": -0.0005,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2952,
"after": 0.238,
"delta": -0.0572,
"percent_delta": -0.1938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2538,
"after": 0.2521,
"delta": -0.0017,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.396,
"after": 0.3934,
"delta": -0.0026,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3853,
"after": 0.2832,
"delta": -0.1021,
"percent_delta": -0.265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7584,
"after": 0.7603,
"delta": 0.0019,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3853,
"after": 0.2832,
"delta": -0.1021,
"percent_delta": -0.265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1815,
"after": 0.0,
"delta": -0.1815,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.162,
"after": 4.0,
"delta": 0.838,
"percent_delta": 0.265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2798,
"after": 0.0,
"delta": -0.2798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5393,
"after": 1.0,
"delta": 0.4607,
"percent_delta": 0.8543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3934,
"after": 0.0,
"delta": -0.3934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7603,
"after": 1.0,
"delta": 0.2397,
"percent_delta": 0.3153,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.162,
"after": 4.0,
"delta": 0.838,
"percent_delta": 0.265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3934,
"after": 0.0,
"delta": -0.3934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2521,
"after": 0.0,
"delta": -0.2521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2521,
"after": 0.0,
"delta": -0.2521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1694,
"predicted_3B": 0.0103,
"predicted_BB": 0.3126,
"predicted_H": 0.8987,
"predicted_HR": 0.1196,
"predicted_RBI": 0.5389,
"predicted_SO": 0.9034
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1694,
"delta": 0.1694,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0103,
"delta": 0.0103,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3126,
"delta": 0.3126,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8987,
"delta": -0.1013,
"percent_delta": -0.1013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1196,
"delta": 0.1196,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5389,
"delta": 0.5389,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9034,
"delta": -0.0966,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5389,
"delta": 0.5389,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8987,
"delta": -0.1013,
"percent_delta": -0.1013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1694,
"after": 0.0,
"delta": -0.1694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3126,
"after": 0.0,
"delta": -0.3126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8987,
"after": 1.0,
"delta": 0.1013,
"percent_delta": 0.1127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1196,
"after": 0.0,
"delta": -0.1196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5389,
"after": 1.0,
"delta": 0.4611,
"percent_delta": 0.8556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9034,
"after": 1.0,
"delta": 0.0966,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5389,
"after": 1.0,
"delta": 0.4611,
"percent_delta": 0.8556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3126,
"after": 0.0,
"delta": -0.3126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.255,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.322,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.411,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1706,
"after": 0.255,
"delta": 0.0844,
"percent_delta": 0.4947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.238,
"after": 0.322,
"delta": 0.084,
"percent_delta": 0.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2832,
"after": 0.411,
"delta": 0.1278,
"percent_delta": 0.4513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2832,
"after": 0.411,
"delta": 0.1278,
"percent_delta": 0.4513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1706,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.238,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2832,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.1706,
"delta": -0.0844,
"percent_delta": -0.3311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.238,
"delta": -0.084,
"percent_delta": -0.2609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.2832,
"delta": -0.1278,
"percent_delta": -0.3109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.2832,
"delta": -0.1278,
"percent_delta": -0.3109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.171,
"after": 3.0,
"delta": -0.171,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.1706,
"delta": -0.0934,
"percent_delta": -0.3538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 1.0,
"delta": 0.692,
"percent_delta": 2.2468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.238,
"delta": -0.06,
"percent_delta": -0.2013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.2832,
"delta": -0.1068,
"percent_delta": -0.2738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 2.0,
"delta": 1.171,
"percent_delta": 1.4125,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.829,
"after": 2.0,
"delta": 1.171,
"percent_delta": 1.4125,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.171 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.308 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.299 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.829 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | -0.007 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.162 | -0.009 |
| predicted_AVG | 0.255 | -0.009 |
| predicted_BB | 0.281 | -0.027 |
| predicted_H | 0.542 | 0.172 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.059 | 0.019 |
| predicted_OBP | 0.295 | -0.003 |
| predicted_R | 0.254 | -0.045 |
| predicted_RBI | 0.396 | 0.136 |
| predicted_SLG | 0.385 | -0.005 |
| predicted_SO | 0.758 | -0.071 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.162 | 0.000 |
| predicted_AVG | 0.171 | -0.085 |
| predicted_BB | 0.280 | -0.001 |
| predicted_H | 0.539 | -0.002 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.058 | -0.001 |
| predicted_OBP | 0.238 | -0.057 |
| predicted_R | 0.252 | -0.002 |
| predicted_RBI | 0.393 | -0.003 |
| predicted_SLG | 0.283 | -0.102 |
| predicted_SO | 0.760 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.169 | 0.169 |
| 3B | 0.010 | 0.010 |
| BB | 0.313 | 0.313 |
| H | 0.899 | -0.101 |
| HR | 0.120 | 0.120 |
| RBI | 0.539 | 0.539 |
| SO | 0.903 | -0.097 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.169 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.313 |
| H | 1.000 | 0.101 |
| HR | 0.000 | -0.120 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.461 |
| SO | 1.000 | 0.097 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.181 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.838 |
| predicted_AVG | 0.255 | 0.084 |
| predicted_BB | 0.000 | -0.280 |
| predicted_H | 1.000 | 0.461 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.322 | 0.084 |
| predicted_R | 0.000 | -0.252 |
| predicted_RBI | 0.000 | -0.393 |
| predicted_SLG | 0.411 | 0.128 |
| predicted_SO | 1.000 | 0.240 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.000 | 1.000 | 2.000 | 0.2000 | 0.2222 | 0.2667 | 0.2000 | 0.0000 | 0.2667 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.000 | 1.000 | 4.000 | 0.2667 | 0.2857 | 0.3000 | 0.2667 | 0.0000 | 0.1667 | 0.0333 | 0.1333 |
| season | 0.60 | 117 | - | 371.000 | 93.000 | 22.000 | 0.000 | 16.000 | 62.000 | 35.000 | 36.000 | 97.000 | 0.2507 | 0.3149 | 0.4394 | 0.2507 | 0.0431 | 0.1671 | 0.0970 | 0.2615 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1500 |
| predicted_AVG | 0.2441 |
| predicted_BB | 0.2440 |
| predicted_H | 0.7690 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.2915 |
| predicted_R | 0.1940 |
| predicted_RBI | 0.5760 |
| predicted_SLG | 0.3790 |
| predicted_SO | 0.6650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1730 | 0.1815 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1710 | 3.1500 | 3.1620 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2441 | 0.2554 | model_form_blend |
| predicted_BB | 0.3080 | 0.2440 | 0.2805 | model_form_blend |
| predicted_H | 0.3700 | 0.7690 | 0.5417 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.0400 | 0.0830 | 0.0585 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2915 | 0.2952 | model_form_blend |
| predicted_R | 0.2990 | 0.1940 | 0.2538 | model_form_blend |
| predicted_RBI | 0.2600 | 0.5760 | 0.3960 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3790 | 0.3853 | model_form_blend |
| predicted_SO | 0.8290 | 0.6650 | 0.7584 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 138 |
| Season rows before report date | 138 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-1B |
| gameID | 20261003_CHW@CLE |
| game_type | ph |
| mlbID | 663993 |
| note | Walked for Fry in the 4th. |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.329 |
| sl_xwoba | 0.335 |
| sl_xba | 0.268 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 46.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.222 | 0.000 | 0.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.220 | 4.000 | 4.000 | Hitting_AB | 3.841 | 4.000 | 0.159 | 0.000 |
| predicted_AVG | 0.206 | 0.250 | 0.250 | Hitting_AVG | 0.261 | 0.000 | -0.011 | 0.250 |
| predicted_BB | 0.120 | 0.000 | 0.000 | Hitting_BB | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 1.003 | 0.000 | -0.003 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 1.000 | Hitting_HR | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_OBP | 0.251 | 0.250 | 0.250 | Hitting_OBP | 0.299 | 0.000 | -0.049 | 0.250 |
| predicted_R | 0.454 | 0.000 | 1.000 | Hitting_R | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_RBI | 0.700 | 0.000 | 1.000 | Hitting_RBI | 0.607 | 0.000 | -0.607 | 0.000 |
| predicted_SLG | 0.424 | 0.250 | 1.000 | Hitting_SLG | 0.465 | 0.000 | -0.215 | 0.250 |
| predicted_SO | 0.861 | 1.000 | 1.000 | Hitting_SO | 0.914 | 2.000 | 0.086 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8610 -> 1.0000 (boost 0.1390, worse) |
| Biggest Deboost | predicted_RBI: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4240 -> 0.4387 (boost 0.0147, better) | predicted_AB: 4.2200 -> 4.0247 (deboost -0.1953, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2589 -> 0.2409 (deboost -0.0180, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.6967 -> 1.0000 (boost 0.3033, better) | predicted_2B: 0.2259 -> 0.0000 (deboost -0.2259, worse) | AB rounded to 4 (raw=4.22), rates preserved: AVG=0.209 HR/AB=0.045 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4382 -> 0.0000 (deboost -0.4382, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_2B: 0.0000 -> 0.2029 (boost 0.2029, better) | predicted_RBI: 1.0000 -> 0.5319 (deboost -0.4681, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 7 | 5 | 2 | 4 | 3 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 0.2029 -> 0.0000 (deboost -0.2029, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 5 | 3 | 2 | 3 | 2 | predicted_OBP: 0.2409 -> 0.3010 (boost 0.0601, better) | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3010 -> 0.2409 (deboost -0.0601, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682657",
"player_name": "Angel Martínez",
"position": "LF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.019,
"predicted_AB": 4.22,
"predicted_AVG": 0.206,
"predicted_BB": 0.12,
"predicted_H": 0.87,
"predicted_HR": 0.19,
"predicted_OBP": 0.251,
"predicted_R": 0.454,
"predicted_RBI": 0.7,
"predicted_SLG": 0.424,
"predicted_SO": 0.861
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2259,
"predicted_3B": 0.016,
"predicted_AB": 4.0247,
"predicted_AVG": 0.2183,
"predicted_BB": 0.1286,
"predicted_H": 0.876,
"predicted_HBP": 0.04,
"predicted_HR": 0.1926,
"predicted_OBP": 0.2589,
"predicted_R": 0.4411,
"predicted_RBI": 0.7013,
"predicted_SLG": 0.4387,
"predicted_SO": 0.8524
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2259,
"delta": 0.0039,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.016,
"delta": -0.003,
"percent_delta": -0.1579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.22,
"after": 4.0247,
"delta": -0.1953,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.2183,
"delta": 0.0123,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.12,
"after": 0.1286,
"delta": 0.0086,
"percent_delta": 0.0717,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.876,
"delta": 0.006,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1926,
"delta": 0.0026,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2589,
"delta": 0.0079,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.454,
"after": 0.4411,
"delta": -0.0129,
"percent_delta": -0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.7013,
"delta": 0.0013,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4387,
"delta": 0.0147,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.861,
"after": 0.8524,
"delta": -0.0086,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4387,
"delta": 0.0147,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.22,
"after": 4.0247,
"delta": -0.1953,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 108
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2259,
"predicted_3B": 0.016,
"predicted_AB": 4.0247,
"predicted_AVG": 0.2167,
"predicted_BB": 0.1283,
"predicted_H": 0.8721,
"predicted_HBP": 0.04,
"predicted_HR": 0.1909,
"predicted_OBP": 0.2409,
"predicted_R": 0.4382,
"predicted_RBI": 0.6967,
"predicted_SLG": 0.4231,
"predicted_SO": 0.8545
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2259,
"after": 0.2259,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0247,
"after": 4.0247,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2183,
"after": 0.2167,
"delta": -0.0016,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1286,
"after": 0.1283,
"delta": -0.0003,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.876,
"after": 0.8721,
"delta": -0.0039,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1926,
"after": 0.1909,
"delta": -0.0017,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2589,
"after": 0.2409,
"delta": -0.018,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4411,
"after": 0.4382,
"delta": -0.0029,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7013,
"after": 0.6967,
"delta": -0.0046,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4387,
"after": 0.4231,
"delta": -0.0156,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8524,
"after": 0.8545,
"delta": 0.0021,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2589,
"after": 0.2409,
"delta": -0.018,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.22), rates preserved: AVG=0.209 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2259,
"after": 0.0,
"delta": -0.2259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0247,
"after": 4.0,
"delta": -0.0247,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1283,
"after": 0.0,
"delta": -0.1283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8721,
"after": 1.0,
"delta": 0.1279,
"percent_delta": 0.1467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1909,
"after": 0.0,
"delta": -0.1909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6967,
"after": 1.0,
"delta": 0.3033,
"percent_delta": 0.4353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8545,
"after": 1.0,
"delta": 0.1455,
"percent_delta": 0.1703,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6967,
"after": 1.0,
"delta": 0.3033,
"percent_delta": 0.4353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2259,
"after": 0.0,
"delta": -0.2259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4382,
"after": 0.0,
"delta": -0.4382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4382,
"after": 0.0,
"delta": -0.4382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2029,
"predicted_3B": 0.0155,
"predicted_BB": 0.1955,
"predicted_H": 0.9449,
"predicted_HR": 0.1427,
"predicted_RBI": 0.5319,
"predicted_SO": 0.8535
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2029,
"delta": 0.2029,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0155,
"delta": 0.0155,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1955,
"delta": 0.1955,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9449,
"delta": -0.0551,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1427,
"delta": 0.1427,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5319,
"delta": -0.4681,
"percent_delta": -0.4681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8535,
"delta": -0.1465,
"percent_delta": -0.1465,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2029,
"delta": 0.2029,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5319,
"delta": -0.4681,
"percent_delta": -0.4681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2029,
"after": 0.0,
"delta": -0.2029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0155,
"after": 0.0,
"delta": -0.0155,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1955,
"after": 0.0,
"delta": -0.1955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9449,
"after": 1.0,
"delta": 0.0551,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1427,
"after": 1.0,
"delta": 0.8573,
"percent_delta": 6.0077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5319,
"after": 1.0,
"delta": 0.4681,
"percent_delta": 0.8801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8535,
"after": 1.0,
"delta": 0.1465,
"percent_delta": 0.1716,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2029,
"after": 0.0,
"delta": -0.2029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.257,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.438,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2167,
"after": 0.257,
"delta": 0.0403,
"percent_delta": 0.186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2409,
"after": 0.301,
"delta": 0.0601,
"percent_delta": 0.2495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4231,
"after": 0.438,
"delta": 0.0149,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2409,
"after": 0.301,
"delta": 0.0601,
"percent_delta": 0.2495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2167,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2409,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4231,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2167,
"delta": -0.0403,
"percent_delta": -0.1568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2409,
"delta": -0.0601,
"percent_delta": -0.1997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4231,
"delta": -0.0149,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2409,
"delta": -0.0601,
"percent_delta": -0.1997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.22,
"after": 4.0,
"delta": -0.22,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.2167,
"delta": 0.0107,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2409,
"delta": -0.0101,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.454,
"after": 0.0,
"delta": -0.454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4231,
"delta": -0.0009,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.861,
"after": 1.0,
"delta": 0.139,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.861,
"after": 1.0,
"delta": 0.139,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.220 | - |
| predicted_AVG | 0.206 | - |
| predicted_BB | 0.120 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.251 | - |
| predicted_R | 0.454 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 0.861 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | 0.004 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 4.025 | -0.195 |
| predicted_AVG | 0.218 | 0.012 |
| predicted_BB | 0.129 | 0.009 |
| predicted_H | 0.876 | 0.006 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.193 | 0.003 |
| predicted_OBP | 0.259 | 0.008 |
| predicted_R | 0.441 | -0.013 |
| predicted_RBI | 0.701 | 0.001 |
| predicted_SLG | 0.439 | 0.015 |
| predicted_SO | 0.852 | -0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 4.025 | 0.000 |
| predicted_AVG | 0.217 | -0.002 |
| predicted_BB | 0.128 | -0.000 |
| predicted_H | 0.872 | -0.004 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.191 | -0.002 |
| predicted_OBP | 0.241 | -0.018 |
| predicted_R | 0.438 | -0.003 |
| predicted_RBI | 0.697 | -0.005 |
| predicted_SLG | 0.423 | -0.016 |
| predicted_SO | 0.855 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.22), rates preserved: AVG=0.209 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.203 | 0.203 |
| 3B | 0.015 | 0.015 |
| BB | 0.196 | 0.196 |
| H | 0.945 | -0.055 |
| HR | 0.143 | 0.143 |
| RBI | 0.532 | -0.468 |
| SO | 0.854 | -0.146 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.203 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.196 |
| H | 1.000 | 0.055 |
| HR | 1.000 | 0.857 |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.468 |
| SO | 1.000 | 0.146 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.226 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | -0.025 |
| predicted_AVG | 0.257 | 0.040 |
| predicted_BB | 0.000 | -0.128 |
| predicted_H | 1.000 | 0.128 |
| predicted_HR | 0.000 | -0.191 |
| predicted_OBP | 0.301 | 0.060 |
| predicted_R | 0.000 | -0.438 |
| predicted_RBI | 1.000 | 0.303 |
| predicted_SLG | 0.438 | 0.015 |
| predicted_SO | 1.000 | 0.145 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 1.000 | 0.000 | 1.000 | 5.000 | 1.000 | 1.000 | 4.000 | 0.1429 | 0.1818 | 0.3333 | 0.1429 | 0.0476 | 0.2381 | 0.0476 | 0.1905 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 3.000 | 0.000 | 3.000 | 9.000 | 5.000 | 1.000 | 8.000 | 0.2703 | 0.2895 | 0.5946 | 0.2703 | 0.0811 | 0.2432 | 0.0270 | 0.2162 |
| season | 0.60 | 108 | - | 393.000 | 99.000 | 24.000 | 2.000 | 18.000 | 62.000 | 49.000 | 13.000 | 93.000 | 0.2519 | 0.2874 | 0.4606 | 0.2519 | 0.0458 | 0.1578 | 0.0331 | 0.2366 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2310 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7660 |
| predicted_AVG | 0.2347 |
| predicted_BB | 0.1400 |
| predicted_H | 0.8840 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.1960 |
| predicted_OBP | 0.2693 |
| predicted_R | 0.4240 |
| predicted_RBI | 0.7030 |
| predicted_SLG | 0.4582 |
| predicted_SO | 0.8410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2310 | 0.2259 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 4.2200 | 3.7660 | 4.0247 | model_form_blend |
| predicted_AVG | 0.2060 | 0.2347 | 0.2183 | model_form_blend |
| predicted_BB | 0.1200 | 0.1400 | 0.1286 | model_form_blend |
| predicted_H | 0.8700 | 0.8840 | 0.8760 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.1900 | 0.1960 | 0.1926 | model_form_blend |
| predicted_OBP | 0.2510 | 0.2693 | 0.2589 | model_form_blend |
| predicted_R | 0.4540 | 0.4240 | 0.4411 | model_form_blend |
| predicted_RBI | 0.7000 | 0.7030 | 0.7013 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4582 | 0.4387 | model_form_blend |
| predicted_SO | 0.8610 | 0.8410 | 0.8524 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 397 |
| Season rows before report date | 397 |
| Report year | 2026 |
| Profile rows used | 108 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 682657 |
| playerID | 682657 |
| playerName | Angel Martínez |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 3.1 |
| sl_woba | 0.326 |
| sl_xwoba | 0.299 |
| sl_xba | 0.251 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 35.5 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 54.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.217 | 0.000 | 0.000 | Hitting_2B | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.480 | 4.000 | 4.000 | Hitting_AB | 3.930 | 4.000 | 0.070 | 0.000 |
| predicted_AVG | 0.229 | 0.250 | 0.250 | Hitting_AVG | 0.281 | 0.000 | -0.031 | 0.250 |
| predicted_BB | 0.442 | 0.000 | 1.000 | Hitting_BB | 0.464 | 0.000 | -0.464 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.020 | 1.000 | 1.000 | Hitting_H | 1.104 | 0.000 | -0.104 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.400 | Hitting_OBP | 0.355 | 0.000 | -0.105 | 0.250 |
| predicted_R | 0.457 | 1.000 | 0.000 | Hitting_R | 0.498 | 0.000 | 0.502 | 1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_SLG | 0.401 | 0.250 | 0.250 | Hitting_SLG | 0.449 | 0.000 | -0.199 | 0.250 |
| predicted_SO | 0.628 | 1.000 | 1.000 | Hitting_SO | 0.648 | 0.000 | 0.352 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.4570 -> 1.0000 (boost 0.5430, better) |
| Biggest Deboost | predicted_RBI: 0.5400 -> 0.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4010 -> 0.4073 (boost 0.0063, better) | predicted_AB: 4.4800 -> 4.1926 (deboost -0.2874, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3203 -> 0.3055 (deboost -0.0148, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.6619 -> 1.0000 (boost 0.3381, worse) | predicted_RBI: 0.5140 -> 0.0000 (deboost -0.5140, worse) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.035 |
| 6 | bvp_blend | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4544 -> 0.0000 (deboost -0.4544, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 5 | 0 | 4 | 1 | predicted_SO: 0.0000 -> 0.6551 (boost 0.6551, worse) | - | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 3 | 2 | 2 | 3 | predicted_BB: 0.3963 -> 1.0000 (boost 0.6037, better) | predicted_2B: 0.1845 -> 0.0000 (deboost -0.1845, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 6 | 3 | 3 | 4 | 2 | predicted_AVG: 0.2289 -> 0.2720 (boost 0.0431, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2720 -> 0.2289 (deboost -0.0431, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "RF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.023,
"predicted_AB": 4.48,
"predicted_AVG": 0.229,
"predicted_BB": 0.442,
"predicted_H": 1.02,
"predicted_HR": 0.16,
"predicted_OBP": 0.317,
"predicted_R": 0.457,
"predicted_RBI": 0.54,
"predicted_SLG": 0.401,
"predicted_SO": 0.628
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2135,
"predicted_3B": 0.0191,
"predicted_AB": 4.1926,
"predicted_AVG": 0.2309,
"predicted_BB": 0.4637,
"predicted_H": 0.9639,
"predicted_HBP": 0.025,
"predicted_HR": 0.157,
"predicted_OBP": 0.3203,
"predicted_R": 0.4574,
"predicted_RBI": 0.5174,
"predicted_SLG": 0.4073,
"predicted_SO": 0.6602
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.2135,
"delta": -0.0035,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0191,
"delta": -0.0039,
"percent_delta": -0.1696,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.1926,
"delta": -0.2874,
"percent_delta": -0.0642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2309,
"delta": 0.0019,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.4637,
"delta": 0.0217,
"percent_delta": 0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.9639,
"delta": -0.0561,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.157,
"delta": -0.003,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3203,
"delta": 0.0033,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.457,
"after": 0.4574,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5174,
"delta": -0.0226,
"percent_delta": -0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4073,
"delta": 0.0063,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.628,
"after": 0.6602,
"delta": 0.0322,
"percent_delta": 0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4073,
"delta": 0.0063,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 4.1926,
"delta": -0.2874,
"percent_delta": -0.0642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 129
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2135,
"predicted_3B": 0.0191,
"predicted_AB": 4.1926,
"predicted_AVG": 0.2289,
"predicted_BB": 0.4625,
"predicted_H": 0.9597,
"predicted_HBP": 0.025,
"predicted_HR": 0.1556,
"predicted_OBP": 0.3055,
"predicted_R": 0.4544,
"predicted_RBI": 0.514,
"predicted_SLG": 0.4003,
"predicted_SO": 0.6619
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2135,
"after": 0.2135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1926,
"after": 4.1926,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2289,
"delta": -0.002,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4637,
"after": 0.4625,
"delta": -0.0012,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9639,
"after": 0.9597,
"delta": -0.0042,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.157,
"after": 0.1556,
"delta": -0.0014,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3203,
"after": 0.3055,
"delta": -0.0148,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4574,
"after": 0.4544,
"delta": -0.003,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5174,
"after": 0.514,
"delta": -0.0034,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4073,
"after": 0.4003,
"delta": -0.007,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6602,
"after": 0.6619,
"delta": 0.0017,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3203,
"after": 0.3055,
"delta": -0.0148,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2135,
"after": 0.0,
"delta": -0.2135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1926,
"after": 4.0,
"delta": -0.1926,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4625,
"after": 0.0,
"delta": -0.4625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9597,
"after": 1.0,
"delta": 0.0403,
"percent_delta": 0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1556,
"after": 0.0,
"delta": -0.1556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6619,
"after": 1.0,
"delta": 0.3381,
"percent_delta": 0.5108,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6619,
"after": 1.0,
"delta": 0.3381,
"percent_delta": 0.5108,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4544,
"after": 0.0,
"delta": -0.4544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4544,
"after": 0.0,
"delta": -0.4544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1845,
"predicted_3B": 0.0192,
"predicted_BB": 0.3963,
"predicted_H": 1.0405,
"predicted_HR": 0.1088,
"predicted_RBI": 0.508,
"predicted_SO": 0.6551
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1845,
"delta": 0.1845,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0192,
"delta": 0.0192,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3963,
"delta": 0.3963,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0405,
"delta": 0.0405,
"percent_delta": 0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1088,
"delta": 0.1088,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.508,
"delta": 0.508,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.6551,
"delta": 0.6551,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.6551,
"delta": 0.6551,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1845,
"after": 0.0,
"delta": -0.1845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0192,
"after": 0.0,
"delta": -0.0192,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3963,
"after": 1.0,
"delta": 0.6037,
"percent_delta": 1.5233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0405,
"after": 1.0,
"delta": -0.0405,
"percent_delta": -0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1088,
"after": 0.0,
"delta": -0.1088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6551,
"after": 1.0,
"delta": 0.3449,
"percent_delta": 0.5265,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3963,
"after": 1.0,
"delta": 0.6037,
"percent_delta": 1.5233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1845,
"after": 0.0,
"delta": -0.1845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.272,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.416,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2289,
"after": 0.272,
"delta": 0.0431,
"percent_delta": 0.1883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3055,
"after": 0.346,
"delta": 0.0405,
"percent_delta": 0.1326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4003,
"after": 0.416,
"delta": 0.0157,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2289,
"after": 0.272,
"delta": 0.0431,
"percent_delta": 0.1883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2289,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3055,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4003,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2289,
"delta": -0.0431,
"percent_delta": -0.1585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3055,
"delta": -0.0405,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4003,
"delta": -0.0157,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2289,
"delta": -0.0431,
"percent_delta": -0.1585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.0,
"delta": -0.48,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2289,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3055,
"delta": -0.0115,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.457,
"after": 1.0,
"delta": 0.543,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4003,
"delta": -0.0007,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.628,
"after": 1.0,
"delta": 0.372,
"percent_delta": 0.5924,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.457,
"after": 1.0,
"delta": 0.543,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.442 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.457 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.628 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | -0.004 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.193 | -0.287 |
| predicted_AVG | 0.231 | 0.002 |
| predicted_BB | 0.464 | 0.022 |
| predicted_H | 0.964 | -0.056 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.157 | -0.003 |
| predicted_OBP | 0.320 | 0.003 |
| predicted_R | 0.457 | 0.000 |
| predicted_RBI | 0.517 | -0.023 |
| predicted_SLG | 0.407 | 0.006 |
| predicted_SO | 0.660 | 0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.193 | 0.000 |
| predicted_AVG | 0.229 | -0.002 |
| predicted_BB | 0.463 | -0.001 |
| predicted_H | 0.960 | -0.004 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.156 | -0.001 |
| predicted_OBP | 0.305 | -0.015 |
| predicted_R | 0.454 | -0.003 |
| predicted_RBI | 0.514 | -0.003 |
| predicted_SLG | 0.400 | -0.007 |
| predicted_SO | 0.662 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.184 | 0.184 |
| 3B | 0.019 | 0.019 |
| BB | 0.396 | 0.396 |
| H | 1.040 | 0.040 |
| HR | 0.109 | 0.109 |
| RBI | 0.508 | 0.508 |
| SO | 0.655 | 0.655 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.184 |
| 3B | 0.000 | -0.019 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.604 |
| H | 1.000 | -0.040 |
| HR | 0.000 | -0.109 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.492 |
| SO | 1.000 | 0.345 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.193 |
| predicted_AVG | 0.272 | 0.043 |
| predicted_BB | 0.000 | -0.463 |
| predicted_H | 1.000 | 0.040 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.346 | 0.040 |
| predicted_R | 0.000 | -0.454 |
| predicted_RBI | 0.000 | -0.514 |
| predicted_SLG | 0.416 | 0.016 |
| predicted_SO | 0.000 | -0.662 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 2.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 3.000 | 5.000 | 0.1000 | 0.2174 | 0.3000 | 0.1000 | 0.0500 | 0.1000 | 0.1500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 6.000 | 6.000 | 0.2105 | 0.3333 | 0.4211 | 0.2105 | 0.0526 | 0.1316 | 0.1579 | 0.1579 |
| season | 0.60 | 129 | - | 486.000 | 138.000 | 28.000 | 3.000 | 16.000 | 66.000 | 59.000 | 57.000 | 81.000 | 0.2840 | 0.3590 | 0.4527 | 0.2839 | 0.0329 | 0.1358 | 0.1173 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.8190 |
| predicted_AVG | 0.2333 |
| predicted_BB | 0.4920 |
| predicted_H | 0.8910 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1530 |
| predicted_OBP | 0.3245 |
| predicted_R | 0.4580 |
| predicted_RBI | 0.4880 |
| predicted_SLG | 0.4154 |
| predicted_SO | 0.7020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.2090 | 0.2135 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.4800 | 3.8190 | 4.1926 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2333 | 0.2309 | model_form_blend |
| predicted_BB | 0.4420 | 0.4920 | 0.4637 | model_form_blend |
| predicted_H | 1.0200 | 0.8910 | 0.9639 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1600 | 0.1530 | 0.1570 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3245 | 0.3203 | model_form_blend |
| predicted_R | 0.4570 | 0.4580 | 0.4574 | model_form_blend |
| predicted_RBI | 0.5400 | 0.4880 | 0.5174 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4154 | 0.4073 | model_form_blend |
| predicted_SO | 0.6280 | 0.7020 | 0.6602 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 528 |
| Season rows before report date | 528 |
| Report year | 2026 |
| Profile rows used | 129 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 800050 |
| playerID | 800050 |
| playerName | Chase DeLauter |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.359 |
| sl_xwoba | 0.346 |
| sl_xba | 0.277 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 42.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.081 | 1.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | 0.865 | 1.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 3.000 | Hitting_AB | 3.090 | 1.000 | -0.090 | 2.000 |
| predicted_AVG | 0.307 | 0.333 | 0.000 | Hitting_AVG | 0.263 | 1.000 | 0.071 | -0.667 |
| predicted_BB | 0.253 | 0.000 | 0.000 | Hitting_BB | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.360 | 1.000 | 0.000 | Hitting_H | 0.811 | 1.000 | 0.189 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_OBP | 0.307 | 0.333 | 0.000 | Hitting_OBP | 0.330 | 1.000 | 0.003 | -0.667 |
| predicted_R | 0.293 | 1.000 | 0.000 | Hitting_R | 0.361 | 0.000 | 0.639 | 1.000 |
| predicted_RBI | 0.230 | 1.000 | 0.000 | Hitting_RBI | 0.467 | 0.000 | 0.533 | 1.000 |
| predicted_SLG | 0.450 | 0.667 | 0.000 | Hitting_SLG | 0.436 | 1.000 | 0.230 | -0.333 |
| predicted_SO | 0.899 | 0.000 | 1.000 | Hitting_SO | 0.922 | 0.000 | -0.922 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.0810 -> 1.0000 (boost 0.9190, better) |
| Biggest Deboost | predicted_SO: 0.8990 -> 0.0000 (deboost -0.8990, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 4 | 3 | 3 | 4 | predicted_H: 0.3600 -> 0.5093 (boost 0.1493, better) | predicted_AVG: 0.3070 -> 0.2745 (deboost -0.0325, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4414 -> 0.3053 (deboost -0.1361, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.5071 -> 1.0000 (boost 0.4929, better) | predicted_RBI: 0.3075 -> 0.0000 (deboost -0.3075, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.169 HR/AB=0.036 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3147 -> 0.0000 (deboost -0.3147, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4019 (boost 0.4019, better) | predicted_H: 1.0000 -> 0.7997 (deboost -0.2003, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.9240 -> 1.0000 (boost 0.0760, worse) | predicted_H: 0.7997 -> 0.0000 (deboost -0.7997, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3100 -> 0.2234 (deboost -0.0866, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672275",
"player_name": "Patrick Bailey",
"position": "C",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.081,
"predicted_3B": 0.01,
"predicted_AB": 3.0,
"predicted_AVG": 0.307,
"predicted_BB": 0.253,
"predicted_H": 0.36,
"predicted_HR": 0.06,
"predicted_OBP": 0.307,
"predicted_R": 0.293,
"predicted_RBI": 0.23,
"predicted_SLG": 0.45,
"predicted_SO": 0.899
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0712,
"predicted_3B": 0.0087,
"predicted_AB": 3.0366,
"predicted_AVG": 0.2745,
"predicted_BB": 0.2211,
"predicted_H": 0.5093,
"predicted_HBP": 0.008,
"predicted_HR": 0.1115,
"predicted_OBP": 0.2925,
"predicted_R": 0.3168,
"predicted_RBI": 0.3095,
"predicted_SLG": 0.4414,
"predicted_SO": 0.9526
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.0712,
"delta": -0.0098,
"percent_delta": -0.121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0366,
"delta": 0.0366,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.307,
"after": 0.2745,
"delta": -0.0325,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.2211,
"delta": -0.0319,
"percent_delta": -0.1261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.5093,
"delta": 0.1493,
"percent_delta": 0.4147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1115,
"delta": 0.0515,
"percent_delta": 0.8583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2925,
"delta": -0.0145,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.293,
"after": 0.3168,
"delta": 0.0238,
"percent_delta": 0.0812,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.3095,
"delta": 0.0795,
"percent_delta": 0.3457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4414,
"delta": -0.0086,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.9526,
"delta": 0.0536,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.36,
"after": 0.5093,
"delta": 0.1493,
"percent_delta": 0.4147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.307,
"after": 0.2745,
"delta": -0.0325,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 99
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0712,
"predicted_3B": 0.0087,
"predicted_AB": 3.0366,
"predicted_AVG": 0.167,
"predicted_BB": 0.2205,
"predicted_H": 0.5071,
"predicted_HBP": 0.008,
"predicted_HR": 0.1105,
"predicted_OBP": 0.2234,
"predicted_R": 0.3147,
"predicted_RBI": 0.3075,
"predicted_SLG": 0.3053,
"predicted_SO": 0.955
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0712,
"after": 0.0712,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0366,
"after": 3.0366,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2745,
"after": 0.167,
"delta": -0.1075,
"percent_delta": -0.3916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2211,
"after": 0.2205,
"delta": -0.0006,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5093,
"after": 0.5071,
"delta": -0.0022,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1115,
"after": 0.1105,
"delta": -0.001,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2925,
"after": 0.2234,
"delta": -0.0691,
"percent_delta": -0.2362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3168,
"after": 0.3147,
"delta": -0.0021,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3095,
"after": 0.3075,
"delta": -0.002,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4414,
"after": 0.3053,
"delta": -0.1361,
"percent_delta": -0.3083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9526,
"after": 0.955,
"delta": 0.0024,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4414,
"after": 0.3053,
"delta": -0.1361,
"percent_delta": -0.3083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.04), rates preserved: AVG=0.169 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0712,
"after": 0.0,
"delta": -0.0712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0366,
"after": 3.0,
"delta": -0.0366,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2205,
"after": 0.0,
"delta": -0.2205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5071,
"after": 1.0,
"delta": 0.4929,
"percent_delta": 0.972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1105,
"after": 0.0,
"delta": -0.1105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3075,
"after": 0.0,
"delta": -0.3075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 1.0,
"delta": 0.045,
"percent_delta": 0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5071,
"after": 1.0,
"delta": 0.4929,
"percent_delta": 0.972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3075,
"after": 0.0,
"delta": -0.3075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3147,
"after": 0.0,
"delta": -0.3147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3147,
"after": 0.0,
"delta": -0.3147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1491,
"predicted_3B": 0.0123,
"predicted_BB": 0.321,
"predicted_H": 0.7997,
"predicted_HR": 0.1036,
"predicted_RBI": 0.4019,
"predicted_SO": 0.924
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1491,
"delta": 0.1491,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0123,
"delta": 0.0123,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.321,
"delta": 0.321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7997,
"delta": -0.2003,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1036,
"delta": 0.1036,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4019,
"delta": 0.4019,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.924,
"delta": -0.076,
"percent_delta": -0.076,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4019,
"delta": 0.4019,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7997,
"delta": -0.2003,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1491,
"after": 0.0,
"delta": -0.1491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0123,
"after": 0.0,
"delta": -0.0123,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7997,
"after": 0.0,
"delta": -0.7997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1036,
"after": 0.0,
"delta": -0.1036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4019,
"after": 0.0,
"delta": -0.4019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7997,
"after": 0.0,
"delta": -0.7997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.238,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.383,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.238,
"delta": 0.071,
"percent_delta": 0.4251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2234,
"after": 0.31,
"delta": 0.0866,
"percent_delta": 0.3876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3053,
"after": 0.383,
"delta": 0.0777,
"percent_delta": 0.2545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2234,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3053,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.167,
"delta": -0.071,
"percent_delta": -0.2984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2234,
"delta": -0.0866,
"percent_delta": -0.2794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3053,
"delta": -0.0777,
"percent_delta": -0.2028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2234,
"delta": -0.0866,
"percent_delta": -0.2794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 1.0,
"delta": 0.919,
"percent_delta": 11.3457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.307,
"after": 0.167,
"delta": -0.14,
"percent_delta": -0.456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2234,
"delta": -0.0836,
"percent_delta": -0.2723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.293,
"after": 1.0,
"delta": 0.707,
"percent_delta": 2.413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.3053,
"delta": -0.1447,
"percent_delta": -0.3216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.081,
"after": 1.0,
"delta": 0.919,
"percent_delta": 11.3457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.307 | - |
| predicted_BB | 0.253 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.293 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 0.899 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | -0.010 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.037 | 0.037 |
| predicted_AVG | 0.275 | -0.032 |
| predicted_BB | 0.221 | -0.032 |
| predicted_H | 0.509 | 0.149 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.112 | 0.052 |
| predicted_OBP | 0.292 | -0.015 |
| predicted_R | 0.317 | 0.024 |
| predicted_RBI | 0.309 | 0.079 |
| predicted_SLG | 0.441 | -0.009 |
| predicted_SO | 0.953 | 0.054 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.037 | 0.000 |
| predicted_AVG | 0.167 | -0.108 |
| predicted_BB | 0.221 | -0.001 |
| predicted_H | 0.507 | -0.002 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.111 | -0.001 |
| predicted_OBP | 0.223 | -0.069 |
| predicted_R | 0.315 | -0.002 |
| predicted_RBI | 0.307 | -0.002 |
| predicted_SLG | 0.305 | -0.136 |
| predicted_SO | 0.955 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.169 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.149 | 0.149 |
| 3B | 0.012 | 0.012 |
| BB | 0.321 | 0.321 |
| H | 0.800 | -0.200 |
| HR | 0.104 | 0.104 |
| RBI | 0.402 | 0.402 |
| SO | 0.924 | -0.076 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.149 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.321 |
| H | 0.000 | -0.800 |
| HR | 0.000 | -0.104 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.402 |
| SO | 1.000 | 0.076 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.071 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 3.000 | -0.037 |
| predicted_AVG | 0.238 | 0.071 |
| predicted_BB | 0.000 | -0.221 |
| predicted_H | 1.000 | 0.493 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.310 | 0.087 |
| predicted_R | 0.000 | -0.315 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.383 | 0.078 |
| predicted_SO | 1.000 | 0.045 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.000 | 5.000 | 0.2857 | 0.2857 | 0.7143 | 0.2857 | 0.1429 | 0.2143 | 0.0000 | 0.3571 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 1.000 | 15.000 | 0.2121 | 0.2353 | 0.3939 | 0.2121 | 0.0606 | 0.0909 | 0.0303 | 0.4546 |
| season | 0.60 | 99 | - | 297.000 | 64.000 | 8.000 | 1.000 | 10.000 | 37.000 | 29.000 | 25.000 | 89.000 | 0.2155 | 0.2761 | 0.3502 | 0.2155 | 0.0337 | 0.1246 | 0.0842 | 0.2997 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0580 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0860 |
| predicted_AVG | 0.2305 |
| predicted_BB | 0.1780 |
| predicted_H | 0.7110 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.2729 |
| predicted_R | 0.3490 |
| predicted_RBI | 0.4170 |
| predicted_SLG | 0.4297 |
| predicted_SO | 1.0250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0810 | 0.0580 | 0.0712 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.0000 | 3.0860 | 3.0366 | model_form_blend |
| predicted_AVG | 0.3070 | 0.2305 | 0.2745 | model_form_blend |
| predicted_BB | 0.2530 | 0.1780 | 0.2211 | model_form_blend |
| predicted_H | 0.3600 | 0.7110 | 0.5093 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0600 | 0.1810 | 0.1115 | model_form_blend |
| predicted_OBP | 0.3070 | 0.2729 | 0.2925 | model_form_blend |
| predicted_R | 0.2930 | 0.3490 | 0.3168 | model_form_blend |
| predicted_RBI | 0.2300 | 0.4170 | 0.3095 | model_form_blend |
| predicted_SLG | 0.4500 | 0.4297 | 0.4414 | model_form_blend |
| predicted_SO | 0.8990 | 1.0250 | 0.9526 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 244 |
| Season rows before report date | 244 |
| Report year | 2026 |
| Profile rows used | 99 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20261003_CHW@CLE |
| game_type | ph |
| mlbID | 672275 |
| note | Singled for Hedges in the 7th. |
| playerID | 672275 |
| playerName | Patrick Bailey |
| pos | C |
| started | False |
| startingPosition | PH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.271 |
| sl_xwoba | 0.307 |
| sl_xba | 0.24 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.180 | 1.000 | 0.000 | Hitting_2B | 0.178 | 1.000 | 0.822 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.670 | 4.000 | 3.000 | Hitting_AB | 3.710 | 4.000 | 0.290 | 0.000 |
| predicted_AVG | 0.230 | 0.500 | 0.333 | Hitting_AVG | 0.250 | 0.250 | 0.250 | 0.250 |
| predicted_BB | 0.443 | 0.000 | 0.000 | Hitting_BB | 0.502 | 0.000 | -0.502 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.840 | 2.000 | 1.000 | Hitting_H | 0.927 | 1.000 | 1.073 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.300 | 0.500 | 0.333 | Hitting_OBP | 0.344 | 0.250 | 0.156 | 0.250 |
| predicted_R | 0.443 | 1.000 | 0.000 | Hitting_R | 0.467 | 0.000 | 0.533 | 1.000 |
| predicted_RBI | 0.290 | 1.000 | 0.000 | Hitting_RBI | 0.522 | 0.000 | 0.478 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_SLG | 0.442 | 0.750 | 0.333 | Hitting_SLG | 0.405 | 0.500 | 0.345 | 0.250 |
| predicted_SO | 0.869 | 0.000 | 1.000 | Hitting_SO | 0.900 | 1.000 | -0.900 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.8400 -> 2.0000 (boost 1.1600, better) |
| Biggest Deboost | predicted_SO: 0.8690 -> 0.0000 (deboost -0.8690, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_BB: 0.4430 -> 0.3849 (deboost -0.0581, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4338 -> 0.3952 (deboost -0.0386, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.8488 -> 1.0000 (boost 0.1512, better) | predicted_AB: 3.6869 -> 3.0000 (deboost -0.6869, worse) | AB rounded to 3 (raw=3.69), rates preserved: AVG=0.232 HR/AB=0.028 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4500 -> 0.0000 (deboost -0.4500, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4177 (boost 0.4177, better) | predicted_SO: 1.0000 -> 0.7887 (deboost -0.2113, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.7887 -> 1.0000 (boost 0.2113, worse) | predicted_RBI: 0.4177 -> 0.0000 (deboost -0.4177, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3028 -> 0.3250 (boost 0.0222, better) | predicted_SLG: 0.3952 -> 0.3880 (deboost -0.0072, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3880 -> 0.3952 (boost 0.0072, better) | predicted_OBP: 0.3250 -> 0.3028 (deboost -0.0222, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683953",
"player_name": "Travis Bazzana",
"position": "2B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.016,
"predicted_AB": 3.67,
"predicted_AVG": 0.23,
"predicted_BB": 0.443,
"predicted_H": 0.84,
"predicted_HR": 0.11,
"predicted_OBP": 0.3,
"predicted_R": 0.443,
"predicted_RBI": 0.29,
"predicted_SLG": 0.442,
"predicted_SO": 0.869
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2221,
"predicted_3B": 0.0373,
"predicted_AB": 3.6869,
"predicted_AVG": 0.2319,
"predicted_BB": 0.3849,
"predicted_H": 0.8526,
"predicted_HBP": 0.035,
"predicted_HR": 0.1048,
"predicted_OBP": 0.2981,
"predicted_R": 0.453,
"predicted_RBI": 0.2969,
"predicted_SLG": 0.4338,
"predicted_SO": 0.8751
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.2221,
"delta": 0.0421,
"percent_delta": 0.2339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0373,
"delta": 0.0213,
"percent_delta": 1.3313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.67,
"after": 3.6869,
"delta": 0.0169,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2319,
"delta": 0.0019,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.3849,
"delta": -0.0581,
"percent_delta": -0.1312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8526,
"delta": 0.0126,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1048,
"delta": -0.0052,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2981,
"delta": -0.0019,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 0.453,
"delta": 0.01,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2969,
"delta": 0.0069,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4338,
"delta": -0.0082,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.869,
"after": 0.8751,
"delta": 0.0061,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.443,
"after": 0.3849,
"delta": -0.0581,
"percent_delta": -0.1312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 122
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2221,
"predicted_3B": 0.0373,
"predicted_AB": 3.6869,
"predicted_AVG": 0.2302,
"predicted_BB": 0.3839,
"predicted_H": 0.8488,
"predicted_HBP": 0.035,
"predicted_HR": 0.1039,
"predicted_OBP": 0.3028,
"predicted_R": 0.45,
"predicted_RBI": 0.2949,
"predicted_SLG": 0.3952,
"predicted_SO": 0.8773
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2221,
"after": 0.2221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0373,
"after": 0.0373,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6869,
"after": 3.6869,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2319,
"after": 0.2302,
"delta": -0.0017,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3849,
"after": 0.3839,
"delta": -0.001,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8526,
"after": 0.8488,
"delta": -0.0038,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1048,
"after": 0.1039,
"delta": -0.0009,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2981,
"after": 0.3028,
"delta": 0.0047,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.45,
"delta": -0.003,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2969,
"after": 0.2949,
"delta": -0.002,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4338,
"after": 0.3952,
"delta": -0.0386,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8751,
"after": 0.8773,
"delta": 0.0022,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4338,
"after": 0.3952,
"delta": -0.0386,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.69), rates preserved: AVG=0.232 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2221,
"after": 0.0,
"delta": -0.2221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0373,
"after": 0.0,
"delta": -0.0373,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6869,
"after": 3.0,
"delta": -0.6869,
"percent_delta": -0.1863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3839,
"after": 0.0,
"delta": -0.3839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8488,
"after": 1.0,
"delta": 0.1512,
"percent_delta": 0.1781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1039,
"after": 0.0,
"delta": -0.1039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2949,
"after": 0.0,
"delta": -0.2949,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8773,
"after": 1.0,
"delta": 0.1227,
"percent_delta": 0.1399,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8488,
"after": 1.0,
"delta": 0.1512,
"percent_delta": 0.1781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6869,
"after": 3.0,
"delta": -0.6869,
"percent_delta": -0.1863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1538,
"predicted_3B": 0.0148,
"predicted_BB": 0.3568,
"predicted_H": 0.8453,
"predicted_HR": 0.0973,
"predicted_RBI": 0.4177,
"predicted_SO": 0.7887
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1538,
"delta": 0.1538,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0148,
"delta": 0.0148,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3568,
"delta": 0.3568,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8453,
"delta": -0.1547,
"percent_delta": -0.1547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0973,
"delta": 0.0973,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4177,
"delta": 0.4177,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7887,
"delta": -0.2113,
"percent_delta": -0.2113,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4177,
"delta": 0.4177,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7887,
"delta": -0.2113,
"percent_delta": -0.2113,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1538,
"after": 0.0,
"delta": -0.1538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0148,
"after": 0.0,
"delta": -0.0148,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3568,
"after": 0.0,
"delta": -0.3568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8453,
"after": 1.0,
"delta": 0.1547,
"percent_delta": 0.183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0973,
"after": 0.0,
"delta": -0.0973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4177,
"after": 0.0,
"delta": -0.4177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7887,
"after": 1.0,
"delta": 0.2113,
"percent_delta": 0.2679,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7887,
"after": 1.0,
"delta": 0.2113,
"percent_delta": 0.2679,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4177,
"after": 0.0,
"delta": -0.4177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.248,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.388,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.248,
"delta": 0.0178,
"percent_delta": 0.0773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3028,
"after": 0.325,
"delta": 0.0222,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3952,
"after": 0.388,
"delta": -0.0072,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3028,
"after": 0.325,
"delta": 0.0222,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3952,
"after": 0.388,
"delta": -0.0072,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2302,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3028,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3952,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2302,
"delta": -0.0178,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3028,
"delta": -0.0222,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3952,
"delta": 0.0072,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3952,
"delta": 0.0072,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3028,
"delta": -0.0222,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.67,
"after": 4.0,
"delta": 0.33,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2302,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.0,
"delta": -0.443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 2.0,
"delta": 1.16,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3028,
"delta": 0.0028,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.3952,
"delta": -0.0468,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.869,
"after": 0.0,
"delta": -0.869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.84,
"after": 2.0,
"delta": 1.16,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.869,
"after": 0.0,
"delta": -0.869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.670 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.443 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.443 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.869 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.042 |
| predicted_3B | 0.037 | 0.021 |
| predicted_AB | 3.687 | 0.017 |
| predicted_AVG | 0.232 | 0.002 |
| predicted_BB | 0.385 | -0.058 |
| predicted_H | 0.853 | 0.013 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.105 | -0.005 |
| predicted_OBP | 0.298 | -0.002 |
| predicted_R | 0.453 | 0.010 |
| predicted_RBI | 0.297 | 0.007 |
| predicted_SLG | 0.434 | -0.008 |
| predicted_SO | 0.875 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 3.687 | 0.000 |
| predicted_AVG | 0.230 | -0.002 |
| predicted_BB | 0.384 | -0.001 |
| predicted_H | 0.849 | -0.004 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.104 | -0.001 |
| predicted_OBP | 0.303 | 0.005 |
| predicted_R | 0.450 | -0.003 |
| predicted_RBI | 0.295 | -0.002 |
| predicted_SLG | 0.395 | -0.039 |
| predicted_SO | 0.877 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.69), rates preserved: AVG=0.232 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.154 | 0.154 |
| 3B | 0.015 | 0.015 |
| BB | 0.357 | 0.357 |
| H | 0.845 | -0.155 |
| HR | 0.097 | 0.097 |
| RBI | 0.418 | 0.418 |
| SO | 0.789 | -0.211 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.154 |
| 3B | 0.000 | -0.015 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.357 |
| H | 1.000 | 0.155 |
| HR | 0.000 | -0.097 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.418 |
| SO | 1.000 | 0.211 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.222 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 3.000 | -0.687 |
| predicted_AVG | 0.248 | 0.018 |
| predicted_BB | 0.000 | -0.384 |
| predicted_H | 1.000 | 0.151 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.325 | 0.022 |
| predicted_R | 0.000 | -0.450 |
| predicted_RBI | 0.000 | -0.295 |
| predicted_SLG | 0.388 | -0.007 |
| predicted_SO | 1.000 | 0.123 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 3.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.000 | 4.000 | 0.2500 | 0.2500 | 0.5000 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 3.000 | 1.000 | 1.000 | 1.000 | 4.000 | 2.000 | 10.000 | 0.1944 | 0.2368 | 0.4167 | 0.1944 | 0.0278 | 0.0278 | 0.0556 | 0.2778 |
| season | 0.60 | 122 | - | 444.000 | 107.000 | 22.000 | 2.000 | 15.000 | 55.000 | 54.000 | 54.000 | 106.000 | 0.2410 | 0.3294 | 0.4009 | 0.2410 | 0.0338 | 0.1239 | 0.1216 | 0.2387 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2770 |
| predicted_3B | 0.0650 |
| predicted_AB | 3.7090 |
| predicted_AVG | 0.2343 |
| predicted_BB | 0.3090 |
| predicted_H | 0.8690 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.2956 |
| predicted_R | 0.4660 |
| predicted_RBI | 0.3060 |
| predicted_SLG | 0.4230 |
| predicted_SO | 0.8830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.2770 | 0.2221 | model_form_blend |
| predicted_3B | 0.0160 | 0.0650 | 0.0373 | model_form_blend |
| predicted_AB | 3.6700 | 3.7090 | 3.6869 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2343 | 0.2319 | model_form_blend |
| predicted_BB | 0.4430 | 0.3090 | 0.3849 | model_form_blend |
| predicted_H | 0.8400 | 0.8690 | 0.8526 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1100 | 0.0980 | 0.1048 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2956 | 0.2981 | model_form_blend |
| predicted_R | 0.4430 | 0.4660 | 0.4530 | model_form_blend |
| predicted_RBI | 0.2900 | 0.3060 | 0.2969 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4230 | 0.4338 | model_form_blend |
| predicted_SO | 0.8690 | 0.8830 | 0.8751 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 490 |
| Season rows before report date | 490 |
| Report year | 2026 |
| Profile rows used | 122 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.328 |
| sl_xwoba | 0.299 |
| sl_xba | 0.224 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 45.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 1.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | 0.835 | 1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.493 | 3.000 | 3.000 | Hitting_AB | 3.603 | 2.000 | -0.603 | 1.000 |
| predicted_AVG | 0.264 | 0.667 | 0.333 | Hitting_AVG | 0.250 | 0.000 | 0.416 | 0.667 |
| predicted_BB | 0.247 | 0.000 | 0.000 | Hitting_BB | 0.257 | 1.000 | -0.257 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.910 | 2.000 | 1.000 | Hitting_H | 0.902 | 0.000 | 1.098 | 2.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | 0.917 | 1.000 |
| predicted_OBP | 0.337 | 0.667 | 0.333 | Hitting_OBP | 0.312 | 0.333 | 0.354 | 0.333 |
| predicted_R | 0.427 | 1.000 | 1.000 | Hitting_R | 0.438 | 0.000 | 0.562 | 1.000 |
| predicted_RBI | 0.530 | 3.000 | 0.000 | Hitting_RBI | 0.443 | 0.000 | 2.557 | 3.000 |
| predicted_SLG | 0.450 | 2.000 | 0.333 | Hitting_SLG | 0.372 | 0.000 | 1.628 | 2.000 |
| predicted_SO | 0.567 | 0.000 | 0.000 | Hitting_SO | 0.582 | 1.000 | -0.582 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5300 -> 3.0000 (boost 2.4700, better) |
| Biggest Deboost | predicted_SO: 0.5670 -> 0.0000 (deboost -0.5670, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_R: 0.4270 -> 0.4936 (boost 0.0666, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3415 -> 0.3224 (deboost -0.0191, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.9242 -> 1.0000 (boost 0.0758, better) | predicted_SO: 0.5714 -> 0.0000 (deboost -0.5714, better) | AB rounded to 3 (raw=3.49), rates preserved: AVG=0.267 HR/AB=0.044 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4903 -> 0.0000 (deboost -0.4903, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_SO: 0.0000 -> 0.5087 (boost 0.5087, worse) | predicted_H: 1.0000 -> 0.8092 (deboost -0.1908, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 7 | 2 | 5 | 3 | 4 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 0.5087 -> 0.0000 (deboost -0.5087, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3870 -> 0.4617 (boost 0.0747, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.013,
"predicted_AB": 3.493,
"predicted_AVG": 0.264,
"predicted_BB": 0.247,
"predicted_H": 0.91,
"predicted_HR": 0.14,
"predicted_OBP": 0.337,
"predicted_R": 0.427,
"predicted_RBI": 0.53,
"predicted_SLG": 0.45,
"predicted_SO": 0.567
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1901,
"predicted_3B": 0.0108,
"predicted_AB": 3.4595,
"predicted_AVG": 0.2704,
"predicted_BB": 0.2827,
"predicted_H": 0.9283,
"predicted_HBP": 0.042,
"predicted_HR": 0.1552,
"predicted_OBP": 0.3415,
"predicted_R": 0.4936,
"predicted_RBI": 0.5387,
"predicted_SLG": 0.4724,
"predicted_SO": 0.57
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1901,
"delta": 0.0231,
"percent_delta": 0.1383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0108,
"delta": -0.0022,
"percent_delta": -0.1692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.493,
"after": 3.4595,
"delta": -0.0335,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2704,
"delta": 0.0064,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.2827,
"delta": 0.0357,
"percent_delta": 0.1445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9283,
"delta": 0.0183,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1552,
"delta": 0.0152,
"percent_delta": 0.1086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3415,
"delta": 0.0045,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.4936,
"delta": 0.0666,
"percent_delta": 0.156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5387,
"delta": 0.0087,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4724,
"delta": 0.0224,
"percent_delta": 0.0498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.567,
"after": 0.57,
"delta": 0.003,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.427,
"after": 0.4936,
"delta": 0.0666,
"percent_delta": 0.156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 150
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1901,
"predicted_3B": 0.0108,
"predicted_AB": 3.4595,
"predicted_AVG": 0.2672,
"predicted_BB": 0.282,
"predicted_H": 0.9242,
"predicted_HBP": 0.042,
"predicted_HR": 0.1538,
"predicted_OBP": 0.3224,
"predicted_R": 0.4903,
"predicted_RBI": 0.5351,
"predicted_SLG": 0.4617,
"predicted_SO": 0.5714
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1901,
"after": 0.1901,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0108,
"after": 0.0108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4595,
"after": 3.4595,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2704,
"after": 0.2672,
"delta": -0.0032,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2827,
"after": 0.282,
"delta": -0.0007,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9283,
"after": 0.9242,
"delta": -0.0041,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1552,
"after": 0.1538,
"delta": -0.0014,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3415,
"after": 0.3224,
"delta": -0.0191,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4936,
"after": 0.4903,
"delta": -0.0033,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5387,
"after": 0.5351,
"delta": -0.0036,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4724,
"after": 0.4617,
"delta": -0.0107,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.57,
"after": 0.5714,
"delta": 0.0014,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3415,
"after": 0.3224,
"delta": -0.0191,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.49), rates preserved: AVG=0.267 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1901,
"after": 0.0,
"delta": -0.1901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0108,
"after": 0.0,
"delta": -0.0108,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4595,
"after": 3.0,
"delta": -0.4595,
"percent_delta": -0.1328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9242,
"after": 1.0,
"delta": 0.0758,
"percent_delta": 0.082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1538,
"after": 0.0,
"delta": -0.1538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5351,
"after": 0.0,
"delta": -0.5351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5714,
"after": 0.0,
"delta": -0.5714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9242,
"after": 1.0,
"delta": 0.0758,
"percent_delta": 0.082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5714,
"after": 0.0,
"delta": -0.5714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4903,
"after": 0.0,
"delta": -0.4903,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4903,
"after": 0.0,
"delta": -0.4903,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1607,
"predicted_3B": 0.012,
"predicted_BB": 0.2621,
"predicted_H": 0.8092,
"predicted_HR": 0.0805,
"predicted_RBI": 0.3892,
"predicted_SO": 0.5087
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1607,
"delta": 0.1607,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.012,
"delta": 0.012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2621,
"delta": 0.2621,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8092,
"delta": -0.1908,
"percent_delta": -0.1908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0805,
"delta": 0.0805,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3892,
"delta": 0.3892,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5087,
"delta": 0.5087,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5087,
"delta": 0.5087,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8092,
"delta": -0.1908,
"percent_delta": -0.1908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1607,
"after": 0.0,
"delta": -0.1607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2621,
"after": 0.0,
"delta": -0.2621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8092,
"after": 1.0,
"delta": 0.1908,
"percent_delta": 0.2358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0805,
"after": 0.0,
"delta": -0.0805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3892,
"after": 0.0,
"delta": -0.3892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5087,
"after": 0.0,
"delta": -0.5087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5087,
"after": 0.0,
"delta": -0.5087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.254,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.316,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.387,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2672,
"after": 0.254,
"delta": -0.0132,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3224,
"after": 0.316,
"delta": -0.0064,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4617,
"after": 0.387,
"delta": -0.0747,
"percent_delta": -0.1618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2672,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3224,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4617,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2672,
"delta": 0.0132,
"percent_delta": 0.0518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3224,
"delta": 0.0064,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.4617,
"delta": 0.0747,
"percent_delta": 0.1931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.4617,
"delta": 0.0747,
"percent_delta": 0.1931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.493,
"after": 3.0,
"delta": -0.493,
"percent_delta": -0.1411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2672,
"delta": 0.0032,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 2.0,
"delta": 1.09,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3224,
"delta": -0.0146,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 1.0,
"delta": 0.573,
"percent_delta": 1.3419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 3.0,
"delta": 2.47,
"percent_delta": 4.6604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4617,
"delta": 0.0117,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.567,
"after": 0.0,
"delta": -0.567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.53,
"after": 3.0,
"delta": 2.47,
"percent_delta": 4.6604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.567,
"after": 0.0,
"delta": -0.567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.493 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.247 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.427 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 0.567 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.023 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.459 | -0.034 |
| predicted_AVG | 0.270 | 0.006 |
| predicted_BB | 0.283 | 0.036 |
| predicted_H | 0.928 | 0.018 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.155 | 0.015 |
| predicted_OBP | 0.342 | 0.005 |
| predicted_R | 0.494 | 0.067 |
| predicted_RBI | 0.539 | 0.009 |
| predicted_SLG | 0.472 | 0.022 |
| predicted_SO | 0.570 | 0.003 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.459 | 0.000 |
| predicted_AVG | 0.267 | -0.003 |
| predicted_BB | 0.282 | -0.001 |
| predicted_H | 0.924 | -0.004 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.154 | -0.001 |
| predicted_OBP | 0.322 | -0.019 |
| predicted_R | 0.490 | -0.003 |
| predicted_RBI | 0.535 | -0.004 |
| predicted_SLG | 0.462 | -0.011 |
| predicted_SO | 0.571 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.49), rates preserved: AVG=0.267 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.161 | 0.161 |
| 3B | 0.012 | 0.012 |
| BB | 0.262 | 0.262 |
| H | 0.809 | -0.191 |
| HR | 0.081 | 0.081 |
| RBI | 0.389 | 0.389 |
| SO | 0.509 | 0.509 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.161 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.262 |
| H | 1.000 | 0.191 |
| HR | 0.000 | -0.081 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.389 |
| SO | 0.000 | -0.509 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.190 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.459 |
| predicted_AVG | 0.254 | -0.013 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 1.000 | 0.076 |
| predicted_HR | 0.000 | -0.154 |
| predicted_OBP | 0.316 | -0.006 |
| predicted_R | 0.000 | -0.490 |
| predicted_RBI | 0.000 | -0.535 |
| predicted_SLG | 0.387 | -0.075 |
| predicted_SO | 0.000 | -0.571 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 3.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 0.000 | 2.000 | 3.000 | 4.000 | 2.000 | 3.000 | 0.3125 | 0.3889 | 0.7500 | 0.3125 | 0.1250 | 0.1875 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 4.000 | 0.000 | 2.000 | 8.000 | 8.000 | 5.000 | 5.000 | 0.3333 | 0.4211 | 0.6364 | 0.3333 | 0.0606 | 0.2424 | 0.1515 | 0.1515 |
| season | 0.60 | 150 | - | 524.000 | 132.000 | 25.000 | 2.000 | 13.000 | 67.000 | 64.000 | 37.000 | 85.000 | 0.2519 | 0.3125 | 0.3817 | 0.2519 | 0.0248 | 0.1279 | 0.0706 | 0.1622 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4160 |
| predicted_AVG | 0.2787 |
| predicted_BB | 0.3290 |
| predicted_H | 0.9520 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1750 |
| predicted_OBP | 0.3473 |
| predicted_R | 0.5800 |
| predicted_RBI | 0.5500 |
| predicted_SLG | 0.5014 |
| predicted_SO | 0.5740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2200 | 0.1901 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0108 | model_form_blend |
| predicted_AB | 3.4930 | 3.4160 | 3.4595 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2787 | 0.2704 | model_form_blend |
| predicted_BB | 0.2470 | 0.3290 | 0.2827 | model_form_blend |
| predicted_H | 0.9100 | 0.9520 | 0.9283 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.1400 | 0.1750 | 0.1552 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3473 | 0.3415 | model_form_blend |
| predicted_R | 0.4270 | 0.5800 | 0.4936 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5500 | 0.5387 | model_form_blend |
| predicted_SLG | 0.4500 | 0.5014 | 0.4724 | model_form_blend |
| predicted_SO | 0.5670 | 0.5740 | 0.5700 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 569 |
| Season rows before report date | 569 |
| Report year | 2026 |
| Profile rows used | 150 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.311 |
| sl_xwoba | 0.294 |
| sl_xba | 0.246 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 30.0 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.906 | 4.000 | -1.906 | -4.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.406 | 4.000 | 0.594 | -1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.500 | 5.000 | 1.500 | 1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.644 | 3.100 | -0.444 | 2.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 7.750 | 4.000 | -1.750 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 3.0000 -> 6.0000 (boost 3.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 3.0000 -> 8.0000 (boost 5.0000, better) | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 8.0000 -> 6.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668909",
"player_name": "Gavin Williams",
"position": "Starter",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 8.0,
"delta": 5.0,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 8.0,
"delta": 5.0,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 6.0,
"delta": -2.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 6.0,
"delta": -2.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 3.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 8.000 | 5.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.100 | 8.000 | 18.000 | 12.000 | 44.000 | 1.000 | 2.5412 | 1.0588 | 0.2823 | 0.6353 | 0.4235 | 1.5529 | 0.0353 |
| last_10 | 0.35 | 10 | 51.000 | 22.000 | 39.000 | 23.000 | 80.000 | 7.000 | 3.8824 | 1.2157 | 0.4314 | 0.7647 | 0.4510 | 1.5686 | 0.1373 |
| season | 0.20 | 32 | 184.100 | 77.000 | 144.000 | 61.000 | 248.000 | 28.000 | 3.7595 | 1.1121 | 0.4177 | 0.7812 | 0.3309 | 1.3454 | 0.1519 |
| Metric | Value |
|---|---|
| predicted_BB | 2.2400 |
| predicted_ER | 2.0880 |
| predicted_ERA | 3.4386 |
| predicted_H | 4.0810 |
| predicted_HR | 0.5550 |
| predicted_IP | 5.1000 |
| predicted_SO | 7.8600 |
| predicted_WHIP | 1.1568 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.2400 | 1.3281 | model_form_blend |
| predicted_ER | 3.0000 | 2.0880 | 2.4593 | model_form_blend |
| predicted_ERA | - | 3.4386 | 3.4386 | form_only |
| predicted_H | 6.0000 | 4.0810 | 4.8622 | model_form_blend |
| predicted_HR | 1.0000 | 0.5550 | 0.7362 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 3.0000 | 7.8600 | 5.8816 | model_form_blend |
| predicted_WHIP | - | 1.1568 | 1.1568 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 98 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 4 |
| Pitching_ERA | 3.76 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 74 |
| Pitching_R | 4 |
| Pitching_SO | 4 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260925_CLE@KC |
| game_type | full |
| mlbID | 668909 |
| playerID | 668909 |
| playerName | Gavin Williams |
| pos | P |
| started | True |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-25 |
| sl_k_percent | 33.2 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.294 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 46.6 |
| sl_whiff_percent | 32.8 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 79.297357934 |
| sl_avg_hyper_speed | 94.995264941 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.686 | 0.000 | 1.314 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.001 | 1.000 | -0.001 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.543 | 1.000 | -1.543 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "671922",
"player_name": "Cade Smith",
"position": "Closer",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.2000 | 0.2000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 0.000 | 2.000 | 2.000 | 15.000 | 0.000 | 0.0000 | 0.3636 | 0.0000 | 0.1818 | 0.1818 | 1.3636 | 0.0000 |
| season | 0.20 | 70 | 75.000 | 16.000 | 48.000 | 23.000 | 108.000 | 5.000 | 1.9200 | 0.9467 | 0.2133 | 0.6400 | 0.3067 | 1.4400 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2550 |
| predicted_ER | 0.1580 |
| predicted_ERA | 1.4177 |
| predicted_H | 0.4530 |
| predicted_HR | 0.0460 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3510 |
| predicted_WHIP | 0.7085 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2550 | 0.1395 | model_form_blend |
| predicted_ER | 0.0000 | 0.1580 | 0.0864 | model_form_blend |
| predicted_ERA | - | 1.4177 | 1.4177 | form_only |
| predicted_H | 2.0000 | 0.4530 | 1.1540 | model_form_blend |
| predicted_HR | 0.0000 | 0.0460 | 0.0252 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3510 | 1.1920 | model_form_blend |
| predicted_WHIP | - | 0.7085 | 0.7085 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 70 |
| Season rows before report date | 70 |
| Report year | 2026 |
| Profile rows used | 70 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 671922 |
| playerID | 671922 |
| playerName | Cade Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 36.3 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.241 |
| sl_xwoba | 0.261 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 42.8 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 82.0535845 |
| sl_avg_hyper_speed | 94.653655813 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.525 | 1.000 | -0.525 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.246 | 1.000 | 0.754 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.443 | 1.000 | 1.557 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.648 | 1.200 | 0.452 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.279 | 2.000 | -1.279 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681870",
"player_name": "Erik Sabrowski",
"position": "Middle Reliever (High Leverage)",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 1.000 | 2.000 | 5.000 | 8.000 | 0.000 | 1.6875 | 1.3125 | 0.1875 | 0.3750 | 0.9375 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 2.000 | 6.000 | 13.000 | 0.000 | 1.6875 | 0.7500 | 0.1875 | 0.1875 | 0.5625 | 1.2188 | 0.0000 |
| season | 0.20 | 59 | 50.000 | 14.000 | 25.000 | 28.000 | 78.000 | 3.000 | 2.5200 | 1.0600 | 0.2800 | 0.5000 | 0.5600 | 1.5600 | 0.0600 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6160 |
| predicted_ER | 0.3060 |
| predicted_ERA | 2.7561 |
| predicted_H | 0.5460 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2570 |
| predicted_WHIP | 1.1628 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6160 | 0.3155 | model_form_blend |
| predicted_ER | 1.0000 | 0.3060 | 0.6446 | model_form_blend |
| predicted_ERA | - | 2.7561 | 2.7561 | form_only |
| predicted_H | 2.0000 | 0.5460 | 1.2554 | model_form_blend |
| predicted_HR | 0.0000 | 0.0560 | 0.0287 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2570 | 1.6195 | model_form_blend |
| predicted_WHIP | - | 1.1628 | 1.1628 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 61 |
| Season rows before report date | 61 |
| Report year | 2026 |
| Profile rows used | 59 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.40 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 20 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 681870 |
| playerID | 681870 |
| playerName | Erik Sabrowski |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 37.4 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.258 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 79.988533696 |
| sl_avg_hyper_speed | 93.73779337 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.319 | 0.000 | 0.681 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.797 | 0.000 | -0.797 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.741 | 0.100 | 0.259 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.826 | 0.000 | -0.826 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683769",
"player_name": "Hunter Gaddis",
"position": "Setup Man",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 3.000 | 8.000 | 1.000 | 4.000 | 2.000 | 6.7500 | 2.2500 | 0.7500 | 2.0000 | 0.2500 | 1.0000 | 0.5000 |
| last_10 | 0.35 | 10 | 9.000 | 4.000 | 13.000 | 1.000 | 8.000 | 2.000 | 4.0000 | 1.5556 | 0.4444 | 1.4444 | 0.1111 | 0.8889 | 0.2222 |
| season | 0.20 | 68 | 60.200 | 19.000 | 53.000 | 20.000 | 57.000 | 7.000 | 2.8187 | 1.2033 | 0.3132 | 0.8736 | 0.3297 | 0.9396 | 0.1154 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2360 |
| predicted_ER | 0.4850 |
| predicted_ERA | 4.8921 |
| predicted_H | 1.2590 |
| predicted_HR | 0.2460 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8440 |
| predicted_WHIP | 1.6741 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2360 | 0.5955 | model_form_blend |
| predicted_ER | 0.0000 | 0.4850 | 0.2568 | model_form_blend |
| predicted_ERA | - | 4.8921 | 4.8921 | form_only |
| predicted_H | 0.0000 | 1.2590 | 0.6666 | model_form_blend |
| predicted_HR | 0.0000 | 0.2460 | 0.1302 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8440 | 0.4469 | model_form_blend |
| predicted_WHIP | - | 1.6741 | 1.6741 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 69 |
| Season rows before report date | 69 |
| Report year | 2026 |
| Profile rows used | 68 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 4 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 683769 |
| playerID | 683769 |
| playerName | Hunter Gaddis |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.3 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 51.7 |
| sl_avg_best_speed | 75.512971294 |
| sl_avg_hyper_speed | 92.352765294 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYY 4 - 2 TB | NYY | 0.540 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | NYY 4 - 2 TB | NYY | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.4848; empirical=0.5794; weight=0.5000; final=0.5321 |
| P1 | H2H margin as base feature | available | home net=-14; abs=14; home delta=-0.0808; away delta=0.0808 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=2.2500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=-0.2853; recent edge=0.0280; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.4000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5396 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.866 | 2.997 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 3 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 0.5396 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| 4 | embedded_savant_run_environment | 4 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 2 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 2 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6900376770743218,
"base_low_score_probability": 0.4266614235155328,
"low_score_signal_threshold": 0.5066614235155328,
"low_score_signal_strength": 0.263376253558789,
"confidence": 0.9,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.6172956800000005
},
"prediction": "low_scoring",
"expected_total_runs": 6,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.4,
"low_score_model_expected_total_runs": 6.4,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 485,
"near_bucket_sample_size": 485,
"medium_bucket_sample_size": 1083,
"wide_bucket_sample_size": 1112,
"global_sample_size": 1131,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5794,
"bayesian_hit_rate": 0.5765,
"prior_strength": 18.0,
"raw_pick_probability": 0.5808,
"raw_pick_probability_unclamped": 0.5808,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.4927,
"margin_implied_pick_probability": 0.5073,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5477,
"score_implied_floor_pick_probability": 0.5071,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.419191,
"uncapped_away_win_probability": 0.580809,
"calibrated_pick_probability": 0.5466,
"predicted_side": "away",
"reliability": 0.964215,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.97674
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.484824,
"sample_size": 485,
"empirical_hit_rate": 0.5794,
"empirical_weight": 0.5,
"blended_confidence": 0.532112,
"published_confidence": 0.539619,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -14.0,
"absolute_net_margin": 14.0,
"home_average_margin": -2.8,
"home_run_delta": -0.0808,
"away_run_delta": 0.0808,
"evidence": [
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": -7.0
},
{
"game_id": null,
"home_margin": 5.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": -8.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049382716049383,
"runs_scored": 736,
"runs_allowed": 650,
"run_differential": 86,
"run_differential_per_game": 0.5308641975308642,
"available": true
},
"away": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.577639751552795,
"runs_scored": 739,
"runs_allowed": 601,
"run_differential": 138,
"run_differential_per_game": 0.8571428571428571,
"available": true
},
"run_differential_edge_per_game": -0.3263,
"win_pct_edge": 0.0273,
"quality_edge": -0.1757,
"season_quality_edge": -0.2853,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.2853,
"recent_quality_edge": 0.028,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.1757
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.028425001857791943
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.026624637022712536
},
{
"home_runs": 2,
"away_runs": 3,
"probability": 0.02655888481906244
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.026233106036805034
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.026168542020327538
}
],
"home_distribution": {
"0": 0.08835713498291922,
"1": 0.1278072747072023,
"2": 0.1590222455882233,
"3": 0.17019568619203276,
"4": 0.15668505451913656,
"5": 0.12407804914258759,
"6": 0.08451828939924737,
"7": 0.04952161498021102,
"8": 0.024959004456441655,
"9": 0.010820518614672165,
"10": 0.004035127417326009
},
"away_distribution": {
"0": 0.08480018763735535,
"1": 0.1229653602338988,
"2": 0.15413496442680732,
"3": 0.16701364466852497,
"4": 0.15643543980704544,
"5": 0.12666328533417143,
"6": 0.08865408588729988,
"7": 0.05363881451733485,
"8": 0.02805381911797119,
"9": 0.012683444737746479,
"10": 0.004956953631844255
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 2.25,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.54,
"winner_flipped": false,
"reasons": [
"predicted side recently lost this matchup by 5+ runs",
"recent head-to-head is split and volatile",
"a prior same-side pick already missed against the actual result",
"a prior same-side pick missed by 5+ actual runs"
],
"signals": {
"predicted_team": "NYY",
"opponent_team": "TB",
"h2h_net_margin": 4,
"opponent_breakout": false,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-24",
"predicted_team_runs": 6,
"opponent_runs": 4,
"margin_for_predicted_team": 2,
"winner": "NYY"
},
{
"date": "2026-09-23",
"predicted_team_runs": 9,
"opponent_runs": 2,
"margin_for_predicted_team": 7,
"winner": "NYY"
},
{
"date": "2026-09-22",
"predicted_team_runs": 1,
"opponent_runs": 6,
"margin_for_predicted_team": -5,
"winner": "TB"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 7,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 2,
"same_pick_blowout_loss_count": 1,
"prior_predictions": [
{
"date": "20261003",
"away": "NYY",
"home": "TB",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "TB",
"actual_margin": 1,
"raw_pick_probability": 0.518365,
"artifact": "20261003_NYY@TB.json",
"verification": "pregame_official_final"
},
{
"date": "20260924",
"away": "TB",
"home": "NYY",
"game_number": 1,
"predicted_team": "NYY",
"actual_winner": "NYY",
"actual_margin": 2,
"raw_pick_probability": 0.531136,
"artifact": "20260924_TB@NYY.json",
"verification": "pregame_official_final"
},
{
"date": "20260923",
"away": "TB",
"home": "NYY",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "NYY",
"actual_margin": 7,
"raw_pick_probability": 0.505259,
"artifact": "20260923_TB@NYY.json",
"verification": "pregame_official_final"
},
{
"date": "20260922",
"away": "TB",
"home": "NYY",
"game_number": 1,
"predicted_team": "NYY",
"actual_winner": "NYY",
"actual_margin": 2,
"raw_pick_probability": 0.534918,
"artifact": "20260922_TB@NYY.json",
"verification": "pregame_official_final"
},
{
"date": "20260922",
"away": "TB",
"home": "NYY",
"game_number": 2,
"predicted_team": "NYY",
"actual_winner": "TB",
"actual_margin": 5,
"raw_pick_probability": 0.520635,
"artifact": "20260922_TB@NYY_2.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "NYY",
"guardrail_opponent_team": "TB",
"output_pre_simulation_winner": "NYY",
"output_opponent_team": "TB",
"simulation_score_winner": "NYY",
"final_score_winner": "NYY",
"pre_simulation_winner": "NYY",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "NYY 4 - 2 TB",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "NYY 4 - 2 TB",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.02,
"recent_form_edge_home_minus_away": -0.182,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 2,
"winner": "NYY",
"model_winner": "NYY",
"simulation_winner": "NYY",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "NYY",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 2
},
"simulation_score": {
"away_runs": 4,
"home_runs": 2
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.1757,
"winner": "NYY",
"score_reviewed": {
"away_runs": 4,
"home_runs": 2,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049382716049383,
"runs_scored": 736,
"runs_allowed": 650,
"run_differential": 86,
"run_differential_per_game": 0.5308641975308642,
"available": true
},
"away": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.577639751552795,
"runs_scored": 739,
"runs_allowed": 601,
"run_differential": 138,
"run_differential_per_game": 0.8571428571428571,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.1757,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.532112,
"final_confidence": 0.5466,
"calibrated_pick_probability": 0.5466,
"shrinkage_weight": 0.97674,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 485,
"calibration_empirical_hit_rate": 0.5794,
"calibration_bayesian_hit_rate": 0.5765,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1757,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 3
},
"margin": -1,
"probability_before": 0.45339,
"margin_implied_home_probability": 0.427612,
"shrinkage_weight": 0.97674,
"side_flipped": false,
"applied": false,
"magnitude_pull_suppressed": true,
"probability_after": 0.45339,
"aligned_pick_probability": 0.54661
},
"starter_experience": {
"applied": false,
"min_starter_games": 32,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "NYY 4 - 2 TB",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "NYY 4 - 2 TB",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.02,
"recent_form_edge_home_minus_away": -0.182,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 2,
"winner": "NYY",
"model_winner": "NYY",
"simulation_winner": "NYY",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "NYY",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 2
},
"simulation_score": {
"away_runs": 4,
"home_runs": 2
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.1757,
"winner": "NYY",
"score_reviewed": {
"away_runs": 4,
"home_runs": 2,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 2,
"confidence": 0.5396185,
"home_win_probability": 0.4603815,
"away_win_probability": 0.5396185,
"predicted_score_text": "NYY 4 - 2 TB",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "NYY",
"original_runs": 4,
"run_delta": 0.2682,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.37218868325182664,
"contact": 0.2937781547780156,
"power": 0.6038404895983303,
"discipline": -0.06558450875262,
"xwoba": 0.3253125,
"recent_xwoba": 0.3253125,
"barrel": 10.384375,
"ab_hard_contact": 0.3165955062523192,
"ab_bat_speed": 71.48103826495976,
"ab_strikeout_rate": 0.25758627614501245,
"available_players": 9,
"top_players": [
{
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"weight": 4.0,
"quality": 1.0859644147538934,
"contact": 1.1007257339007495,
"power": 1.4640379442959104,
"discipline": 0.41161541397512624,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 14.299999999999999,
"ab_hard_contact": 0.8834255525848682,
"ab_bat_speed": 71.42264696813977,
"ab_strikeout_rate": 0.24306269270298048,
"available": 1.0
},
{
"player_id": "682987",
"player_name": "Spencer Jones",
"position": "RF",
"weight": 4.0,
"quality": 0.6359031265672056,
"contact": 0.4055769029040419,
"power": 1.4845812557871219,
"discipline": -0.9999781229370271,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 15.9,
"ab_hard_contact": 0.4758155919329278,
"ab_bat_speed": 75.76573781567421,
"ab_strikeout_rate": 0.39008480104370513,
"available": 1.0
},
{
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"weight": 4.0,
"quality": 0.7580131004603182,
"contact": 0.8597483462126746,
"power": 1.119451166067874,
"discipline": -0.21995646889125145,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 12.2,
"ab_hard_contact": 0.5974042737384297,
"ab_bat_speed": 73.31642951280269,
"ab_strikeout_rate": 0.18442028985507247,
"available": 1.0
},
{
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"weight": 3.0,
"quality": 0.6215292333449454,
"contact": 0.5735532591261528,
"power": 0.5959867049499151,
"discipline": 0.8456062566991771,
"xwoba": 0.337,
"recent_xwoba": 0.337,
"barrel": 9.6,
"ab_hard_contact": 0.5182102894744993,
"ab_bat_speed": 68.83768257479983,
"ab_strikeout_rate": 0.1951432785503582,
"available": 1.0
},
{
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"weight": 4.0,
"quality": 0.35350340380831996,
"contact": 0.5349312747360402,
"power": 0.11562360582964122,
"discipline": 0.629057074932075,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 6.6,
"ab_hard_contact": 0.3612340213547277,
"ab_bat_speed": 69.03931248346561,
"ab_strikeout_rate": 0.15433531746031745,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "642547",
"player_name": "Freddy Peralta",
"quality": 0.11352541389249747,
"contact": 0.24888089323514528,
"command": -0.13745871126228262,
"movement": -0.03644944553856097,
"xwoba": 0.302,
"whiff": 26.1,
"faced_est_woba": 0.2648406655555556,
"faced_launch_speed": 83.79124666446208,
"faced_strikeout_rate": 0.2356947200176367,
"faced_run_exp": 0.006483162950047203
}
},
"home": {
"team": "TB",
"original_runs": 3,
"run_delta": -0.702,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": -0.05247059584866001,
"contact": 0.040469018026781295,
"power": -0.19516385650182327,
"discipline": 0.36076236122363864,
"xwoba": 0.31091176470588233,
"recent_xwoba": 0.31091176470588233,
"barrel": 6.21764705882353,
"ab_hard_contact": -0.13950121967232107,
"ab_bat_speed": 69.32301883592007,
"ab_strikeout_rate": 0.17487582948808153,
"available_players": 9,
"top_players": [
{
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"weight": 3.0,
"quality": -1.2226479377479211,
"contact": -1.4640001829453662,
"power": -1.462586946671647,
"discipline": 0.23344217594217606,
"xwoba": 0.251,
"recent_xwoba": 0.251,
"barrel": 2.2,
"ab_hard_contact": -1.3808817905757944,
"ab_bat_speed": 62.476628427128425,
"ab_strikeout_rate": 0.25287878787878787,
"available": 1.0
},
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 1.057275086846282,
"contact": 1.1283305380631719,
"power": 1.3691909603820291,
"discipline": 0.4880283783303919,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 13.1,
"ab_hard_contact": 0.6744858743072404,
"ab_bat_speed": 78.50223418024927,
"ab_strikeout_rate": 0.1879354426334292,
"available": 1.0
},
{
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"weight": 4.0,
"quality": -0.9110641195476601,
"contact": -0.6526951193300649,
"power": -1.5395996976745805,
"discipline": 0.44172469052903846,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 0.0,
"ab_hard_contact": -1.4963749058725606,
"ab_bat_speed": 61.551209390568886,
"ab_strikeout_rate": 0.07531055900621117,
"available": 1.0
},
{
"player_id": "676356",
"player_name": "Jonny DeLuca",
"position": "CF",
"weight": 4.0,
"quality": -0.8080339048832523,
"contact": -0.8317852546327366,
"power": -0.8450635745275638,
"discipline": -0.4648244813136117,
"xwoba": 0.261,
"recent_xwoba": 0.261,
"barrel": 3.6,
"ab_hard_contact": -0.05936672864651229,
"ab_bat_speed": 71.46409786922015,
"ab_strikeout_rate": 0.20643115942028986,
"available": 1.0
},
{
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"weight": 4.0,
"quality": 0.7413828917734998,
"contact": 1.078783448992237,
"power": 0.5356330124171292,
"discipline": 0.5679219490426386,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 7.1,
"ab_hard_contact": 0.7438983435806739,
"ab_bat_speed": 72.70592586206897,
"ab_strikeout_rate": 0.14482758620689656,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "693645",
"player_name": "Cam Schlittler",
"quality": 0.8373493582617151,
"contact": 1.0020063561553834,
"command": 0.6538270030234314,
"movement": 1.5640282140723243,
"xwoba": 0.262,
"whiff": 29.4,
"faced_est_woba": 0.2648406655555556,
"faced_launch_speed": 83.79124666446208,
"faced_strikeout_rate": 0.2356947200176367,
"faced_run_exp": 0.006483162950047203
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 2,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 2,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.1757,
"recent_form_edge_home_minus_away": -0.182,
"pitcher_matchup_edge_home_minus_away": -0.02,
"composite_home_edge": -0.5461,
"existing_home_win_probability": 0.4534,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 0.5461
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.45339,
"uncapped_away_win_probability": 0.54661,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.54661,
"discount_factor": 0.85,
"published_confidence": 0.539619,
"guardrail_confidence_cap": 0.54,
"guardrail_cap_enforced": false,
"applied_discounts": [
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.3,
"incoming_favoured_side": "away",
"score_winner_side": "away",
"published_home_win_probability": 0.460381,
"probability_side_reverted_by_score": false,
"note": "The probability and the projected score agree on the winner."
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 2,
"predicted_score_text": "NYY 4 - 2 TB",
"confidence": 0.5396185,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "NYY 4 - 2 TB",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "NYY 4 - 2 TB",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.02,
"recent_form_edge_home_minus_away": -0.182,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 2,
"winner": "NYY",
"model_winner": "NYY",
"simulation_winner": "NYY",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "NYY",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 2
},
"simulation_score": {
"away_runs": 4,
"home_runs": 2
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.1757,
"winner": "NYY",
"score_reviewed": {
"away_runs": 4,
"home_runs": 2,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "NYY",
"display_confidence": 0.5396,
"internal_signal_score": 0.5589,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5396,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 2,
"winner_quality_edge": 0.1757,
"winner_recent_form_edge": -0.028,
"winner_pitcher_matchup_edge": 0.02,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 1.0,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 1.0,
"total_runs_spread": {
"min": 4,
"median": 6,
"max": 6,
"range": 2
}
},
"interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
}
}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.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away NYY | True | 1.0441 | 1.0441 | 1 | 9 | 0 |
| Home TB | True | 1.0011 | 1.0011 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Spencer Jones | - | 1.0783 | 1.0438 | neutral | 0.3280 | 0.2380 | 0.4550 | 15.90 | 55.10 | 94.10 | 20.60 | 38.70 | 36.30 | 8.70 | 0.1429 |
| DH | Ben Rice | - | 1.1109 | 1.4788 | neutral | 0.3780 | 0.2670 | 0.5110 | 14.30 | 48.60 | 91.90 | 14.50 | 25.40 | 24.30 | 12.70 | -0.1714 |
| 1B | Luis García Jr. | - | 1.0715 | 0.9531 | neutral | 0.3410 | 0.2760 | 0.4860 | 12.20 | 46.10 | 91.40 | 11.50 | 20.80 | 17.90 | 4.60 | -0.4000 |
| SS | George Lombard Jr. | - | 1.0001 | 0.0012 | neutral | 0.2980 | 0.2400 | 0.3880 | 8.20 | 35.10 | 87.10 | 8.50 | 25.60 | 26.50 | 6 | -0.1429 |
| LF | Cody Bellinger | - | 1.0450 | 0.6002 | neutral | 0.3350 | 0.2710 | 0.4110 | 6.60 | 37.80 | 89.20 | 17.60 | 20 | 15.80 | 10.50 | -0.0286 |
| 2B | Jazz Chisholm Jr. | - | 0.9966 | -0.0458 | neutral | 0.2940 | 0.2160 | 0.3660 | 8.20 | 42.80 | 90.40 | 16.30 | 30.90 | 29.50 | 10.50 | -0.5143 |
| CF | Trent Grisham | - | 1.0646 | 0.8608 | neutral | 0.3370 | 0.2450 | 0.4290 | 9.60 | 45.30 | 90.60 | 17.50 | 18.20 | 18.40 | 12.60 | 0.7429 |
| C | Austin Wells | - | 1.0129 | 0.1724 | neutral | 0.3020 | 0.2110 | 0.3630 | 7.70 | 42.70 | 89.30 | 20.50 | 27.90 | 26.50 | 12.40 | 0.6000 |
| 3B | Ryan McMahon | - | 1.0166 | 0.2215 | neutral | 0.2970 | 0.2300 | 0.3810 | 9 | 44.80 | 90.50 | 14.30 | 30.20 | 29.40 | 7.80 | 0.4286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | Liam Hicks | - | 0.9913 | -0.1157 | negative_batter_regression | 0.3190 | 0.2610 | 0.3580 | 3.70 | 27.10 | 84.60 | 14.50 | 11.40 | 9.90 | 10.10 | -0.9429 |
| 3B | Junior Caminero | - | 1.0942 | 1.2566 | neutral | 0.3640 | 0.2730 | 0.4990 | 13.10 | 49.70 | 92.70 | 10.40 | 24.10 | 18.40 | 11.30 | -0.3143 |
| 1B | Jonathan Aranda | - | 1.0632 | 0.8421 | neutral | 0.3430 | 0.2540 | 0.4380 | 9.90 | 46 | 91.10 | 14.40 | 22.50 | 24.40 | 10.30 | -0.1429 |
| DH | Yandy Díaz | - | 1.0626 | 0.8349 | neutral | 0.3460 | 0.2810 | 0.4390 | 7.10 | 48.10 | 90.90 | 6 | 14.80 | 14.30 | 8.20 | -0.1143 |
| CF | Jonny DeLuca | - | 0.9339 | -0.8814 | negative_batter_regression | 0.2610 | 0.2320 | 0.3250 | 3.60 | 30.20 | 85.80 | 13.90 | 24.90 | 21.10 | 4.60 | -1.6000 |
| 2B | Richie Palacios | - | 0.9867 | -0.1772 | neutral | 0.3060 | 0.2430 | 0.3340 | 4 | 28.80 | 86.20 | 13.40 | 20.70 | 17 | 11.50 | -0.2857 |
| SS | Taylor Walls | - | 0.9131 | -1.1589 | neutral | 0.2510 | 0.1900 | 0.2610 | 2.20 | 21.90 | 85.60 | 19.40 | 22 | 24.20 | 10.40 | -0.7714 |
| LF | Chandler Simpson | - | 0.9252 | -0.9970 | negative_batter_regression | 0.2630 | 0.2610 | 0.2970 | 0 | 13.40 | 83.60 | 1.20 | 10.80 | 7.80 | 4.20 | -1.2000 |
| RF | Victor Mesa Jr. | - | 1.0395 | 0.5271 | neutral | 0.3290 | 0.2490 | 0.4390 | 10.80 | 42.20 | 89.40 | 21 | 25.50 | 20.20 | 8.80 | -0.7429 |
{
"home": {
"applied": true,
"offense_factor": 1.0011,
"raw_average_factor": 1.0011,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "C",
"player_id": "689414",
"player_name": "Liam Hicks",
"offense_factor": 0.9913,
"quality_score": -0.1157,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "689414",
"espn_rank": null
},
"metrics": {
"pa": 515.0,
"k_percent": 9.9,
"bb_percent": 10.1,
"woba": 0.352,
"xwoba": 0.319,
"xba": 0.261,
"xslg": 0.358,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 27.1,
"exit_velocity_avg": 84.6,
"launch_angle_avg": 14.5,
"whiff_percent": 11.4,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.019,
"regression_edge": -0.9429,
"xwoba_edge": 0.5714,
"xba_edge": 0.7143,
"xslg_edge": -0.0714,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.5,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0942,
"quality_score": 1.2566,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691406",
"espn_rank": null
},
"metrics": {
"pa": 640.0,
"k_percent": 18.4,
"bb_percent": 11.3,
"woba": 0.375,
"xwoba": 0.364,
"xba": 0.273,
"xslg": 0.499,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 49.7,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 10.4,
"whiff_percent": 24.1,
"swing_percent": 44.4
},
"components": {
"expected_quality": 1.5123,
"regression_edge": -0.3143,
"xwoba_edge": 1.8571,
"xba_edge": 1.0571,
"xslg_edge": 1.9429,
"barrel_edge": 1.4444,
"hard_hit_edge": 1.7286,
"exit_velocity_edge": 1.72,
"sweet_spot_edge": -1.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0632,
"quality_score": 0.8421,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "666018",
"espn_rank": null
},
"metrics": {
"pa": 625.0,
"k_percent": 24.4,
"bb_percent": 10.3,
"woba": 0.348,
"xwoba": 0.343,
"xba": 0.254,
"xslg": 0.438,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 14.4,
"whiff_percent": 22.5,
"swing_percent": 46.7
},
"components": {
"expected_quality": 1.0024,
"regression_edge": -0.1429,
"xwoba_edge": 1.2571,
"xba_edge": 0.5143,
"xslg_edge": 1.0714,
"barrel_edge": 0.7333,
"hard_hit_edge": 1.2,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0626,
"quality_score": 0.8349,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "650490",
"espn_rank": null
},
"metrics": {
"pa": 642.0,
"k_percent": 14.3,
"bb_percent": 8.2,
"woba": 0.35,
"xwoba": 0.346,
"xba": 0.281,
"xslg": 0.439,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 48.1,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 6.0,
"whiff_percent": 14.8,
"swing_percent": 47.5
},
"components": {
"expected_quality": 0.9894,
"regression_edge": -0.1143,
"xwoba_edge": 1.3429,
"xba_edge": 1.2857,
"xslg_edge": 1.0857,
"barrel_edge": 0.1111,
"hard_hit_edge": 1.5,
"exit_velocity_edge": 1.0,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"offense_factor": 0.9339,
"quality_score": -0.8814,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "676356",
"espn_rank": null
},
"metrics": {
"pa": 325.0,
"k_percent": 21.1,
"bb_percent": 4.6,
"woba": 0.317,
"xwoba": 0.261,
"xba": 0.232,
"xslg": 0.325,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 30.2,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 13.9,
"whiff_percent": 24.9,
"swing_percent": 52.9
},
"components": {
"expected_quality": -0.7644,
"regression_edge": -1.6,
"xwoba_edge": -1.0857,
"xba_edge": -0.1143,
"xslg_edge": -0.5429,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9867,
"quality_score": -0.1772,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680700",
"espn_rank": null
},
"metrics": {
"pa": 364.0,
"k_percent": 17.0,
"bb_percent": 11.5,
"woba": 0.316,
"xwoba": 0.306,
"xba": 0.243,
"xslg": 0.334,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 13.4,
"whiff_percent": 20.7,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.1595,
"regression_edge": -0.2857,
"xwoba_edge": 0.2,
"xba_edge": 0.2,
"xslg_edge": -0.4143,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.2571,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9131,
"quality_score": -1.1589,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "670764",
"espn_rank": null
},
"metrics": {
"pa": 398.0,
"k_percent": 24.2,
"bb_percent": 10.4,
"woba": 0.278,
"xwoba": 0.251,
"xba": 0.19,
"xslg": 0.261,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 21.9,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 19.4,
"whiff_percent": 22.0,
"swing_percent": 43.2
},
"components": {
"expected_quality": -1.222,
"regression_edge": -0.7714,
"xwoba_edge": -1.3714,
"xba_edge": -1.3143,
"xslg_edge": -1.4571,
"barrel_edge": -0.9778,
"hard_hit_edge": -2.2429,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9252,
"quality_score": -0.997,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "802415",
"espn_rank": null
},
"metrics": {
"pa": 564.0,
"k_percent": 7.8,
"bb_percent": 4.2,
"woba": 0.305,
"xwoba": 0.263,
"xba": 0.261,
"xslg": 0.297,
"sweet_spot_percent": 25.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 13.4,
"exit_velocity_avg": 83.6,
"launch_angle_avg": 1.2,
"whiff_percent": 10.8,
"swing_percent": 48.5
},
"components": {
"expected_quality": -0.9639,
"regression_edge": -1.2,
"xwoba_edge": -1.0286,
"xba_edge": 0.7143,
"xslg_edge": -0.9429,
"barrel_edge": -1.4667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.92,
"sweet_spot_edge": -1.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"offense_factor": 1.0395,
"quality_score": 0.5271,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683748",
"espn_rank": null
},
"metrics": {
"pa": 223.0,
"k_percent": 20.2,
"bb_percent": 8.8,
"woba": 0.355,
"xwoba": 0.329,
"xba": 0.249,
"xslg": 0.439,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 21.0,
"whiff_percent": 25.5,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.7339,
"regression_edge": -0.7429,
"xwoba_edge": 0.8571,
"xba_edge": 0.3714,
"xslg_edge": 1.0857,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.6571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0441,
"raw_average_factor": 1.0441,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "682987",
"player_name": "Spencer Jones",
"offense_factor": 1.0783,
"quality_score": 1.0438,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "682987",
"espn_rank": null
},
"metrics": {
"pa": 253.0,
"k_percent": 36.3,
"bb_percent": 8.7,
"woba": 0.323,
"xwoba": 0.328,
"xba": 0.238,
"xslg": 0.455,
"sweet_spot_percent": 43.9,
"barrel_batted_rate": 15.9,
"hard_hit_percent": 55.1,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 20.6,
"whiff_percent": 38.7,
"swing_percent": 53.2
},
"components": {
"expected_quality": 1.1904,
"regression_edge": 0.1429,
"xwoba_edge": 0.8286,
"xba_edge": 0.0571,
"xslg_edge": 1.3143,
"barrel_edge": 2.0667,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.28,
"sweet_spot_edge": 1.7667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "700250",
"player_name": "Ben Rice",
"offense_factor": 1.1109,
"quality_score": 1.4788,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "700250",
"espn_rank": null
},
"metrics": {
"pa": 611.0,
"k_percent": 24.3,
"bb_percent": 12.7,
"woba": 0.384,
"xwoba": 0.378,
"xba": 0.267,
"xslg": 0.511,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 14.5,
"whiff_percent": 25.4,
"swing_percent": 43.2
},
"components": {
"expected_quality": 1.7474,
"regression_edge": -0.1714,
"xwoba_edge": 2.2571,
"xba_edge": 0.8857,
"xslg_edge": 2.1143,
"barrel_edge": 1.7111,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.85,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "671277",
"player_name": "Luis García Jr.",
"offense_factor": 1.0715,
"quality_score": 0.9531,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "671277",
"espn_rank": null
},
"metrics": {
"pa": 509.0,
"k_percent": 17.9,
"bb_percent": 4.6,
"woba": 0.355,
"xwoba": 0.341,
"xba": 0.276,
"xslg": 0.486,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.5,
"whiff_percent": 20.8,
"swing_percent": 52.6
},
"components": {
"expected_quality": 1.1734,
"regression_edge": -0.4,
"xwoba_edge": 1.2,
"xba_edge": 1.1429,
"xslg_edge": 1.7571,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "806146",
"player_name": "George Lombard Jr.",
"offense_factor": 1.0001,
"quality_score": 0.0012,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "806146",
"espn_rank": null
},
"metrics": {
"pa": 127.0,
"k_percent": 26.5,
"bb_percent": 6.0,
"woba": 0.303,
"xwoba": 0.298,
"xba": 0.24,
"xslg": 0.388,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 35.1,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 8.5,
"whiff_percent": 25.6,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.0257,
"regression_edge": -0.1429,
"xwoba_edge": -0.0286,
"xba_edge": 0.1143,
"xslg_edge": 0.3571,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.3571,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "641355",
"player_name": "Cody Bellinger",
"offense_factor": 1.045,
"quality_score": 0.6002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641355",
"espn_rank": null
},
"metrics": {
"pa": 521.0,
"k_percent": 15.8,
"bb_percent": 10.5,
"woba": 0.336,
"xwoba": 0.335,
"xba": 0.271,
"xslg": 0.411,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 37.8,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 17.6,
"whiff_percent": 20.0,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.7026,
"regression_edge": -0.0286,
"xwoba_edge": 1.0286,
"xba_edge": 1.0,
"xslg_edge": 0.6857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"offense_factor": 0.9966,
"quality_score": -0.0458,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "665862",
"espn_rank": null
},
"metrics": {
"pa": 506.0,
"k_percent": 29.5,
"bb_percent": 10.5,
"woba": 0.312,
"xwoba": 0.294,
"xba": 0.216,
"xslg": 0.366,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 42.8,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 16.3,
"whiff_percent": 30.9,
"swing_percent": 45.8
},
"components": {
"expected_quality": 0.0304,
"regression_edge": -0.5143,
"xwoba_edge": -0.1429,
"xba_edge": -0.5714,
"xslg_edge": 0.0429,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.7429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "663757",
"player_name": "Trent Grisham",
"offense_factor": 1.0646,
"quality_score": 0.8608,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663757",
"espn_rank": null
},
"metrics": {
"pa": 477.0,
"k_percent": 18.4,
"bb_percent": 12.6,
"woba": 0.311,
"xwoba": 0.337,
"xba": 0.245,
"xslg": 0.429,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 17.5,
"whiff_percent": 18.2,
"swing_percent": 39.1
},
"components": {
"expected_quality": 0.88,
"regression_edge": 0.7429,
"xwoba_edge": 1.0857,
"xba_edge": 0.2571,
"xslg_edge": 0.9429,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.1,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "669224",
"player_name": "Austin Wells",
"offense_factor": 1.0129,
"quality_score": 0.1724,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669224",
"espn_rank": null
},
"metrics": {
"pa": 358.0,
"k_percent": 26.5,
"bb_percent": 12.4,
"woba": 0.281,
"xwoba": 0.302,
"xba": 0.211,
"xslg": 0.363,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 20.5,
"whiff_percent": 27.9,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.1028,
"regression_edge": 0.6,
"xwoba_edge": 0.0857,
"xba_edge": -0.7143,
"xslg_edge": 0.0,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "641857",
"player_name": "Ryan McMahon",
"offense_factor": 1.0166,
"quality_score": 0.2215,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641857",
"espn_rank": null
},
"metrics": {
"pa": 339.0,
"k_percent": 29.4,
"bb_percent": 7.8,
"woba": 0.282,
"xwoba": 0.297,
"xba": 0.23,
"xslg": 0.381,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 14.3,
"whiff_percent": 30.2,
"swing_percent": 45.5
},
"components": {
"expected_quality": 0.1877,
"regression_edge": 0.4286,
"xwoba_edge": -0.0571,
"xba_edge": -0.1714,
"xslg_edge": 0.2571,
"barrel_edge": 0.5333,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | Cam Schlittler | True | - | 0.7136 | 1 | 0.9393 | 1.0771 | 0.9440 | 0.9612 | neutral | 0.2620 | 0.2430 | 31.40 | 6.40 | 29.40 | 7.30 | 38.30 |
| Home TB | Freddy Peralta | True | - | 0.1426 | 1 | 0.9879 | 1.0011 | 0.9880 | 0.9625 | neutral | 0.3020 | 0.3230 | 21.40 | 8.60 | 26.10 | 5.80 | 37.20 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | Cam Schlittler | True | None | 96 | 95.85 | 2516 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 |
| Home TB | Freddy Peralta | True | None | 83 | 89.31 | 2298 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0309 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9955 |
| home_runs_vs_away_pitcher | 0.9650 |
| home_pitcher_starter_only_factor | 0.9879 |
| away_pitcher_starter_only_factor | 0.9393 |
| home_pitcher_workload_share | 0.5926 |
| away_pitcher_workload_share | 0.6667 |
| home_pitcher_quality_edge | -0.3912 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "642547",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 683.0,
"k_percent": 21.4,
"bb_percent": 8.6,
"woba": 0.323,
"xwoba": 0.302,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 37.2,
"avg_best_speed": 76.4239,
"avg_hyper_speed": 93.4809,
"whiff_percent": 26.1,
"swing_percent": 48.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.138,
"command_and_miss": 0.03,
"regression_edge": 0.6,
"xwoba_edge": 0.2857,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.1,
"whiff_edge": 0.1286,
"bb_edge": 0.15,
"pitch_design_score": -0.0309
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642547",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.31293809090894,
"release_spin_rate": 2298.363391166723,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.31293809090894,
"release_spin_rate": 2298.363391166723,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.3129,
"release_spin_rate": 2298.3634,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0309,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2205,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1426,
"sample_weight": 1.0,
"run_prevention_factor": 0.9879,
"strikeout_factor": 1.0011,
"walk_factor": 0.988,
"homer_factor": 0.9625,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "642547",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "693645",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 691.0,
"k_percent": 31.4,
"bb_percent": 6.4,
"woba": 0.243,
"xwoba": 0.262,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.6999,
"avg_hyper_speed": 93.7524,
"whiff_percent": 29.4,
"swing_percent": 52.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8911,
"command_and_miss": 0.9479,
"regression_edge": -0.5429,
"xwoba_edge": 1.4286,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.6,
"bb_edge": 0.7,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693645",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 95.84565678559713,
"release_spin_rate": 2515.855995429108,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 95.84565678559713,
"release_spin_rate": 2515.855995429108,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.8457,
"release_spin_rate": 2515.856,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.7136,
"sample_weight": 1.0,
"run_prevention_factor": 0.9393,
"strikeout_factor": 1.0771,
"walk_factor": 0.944,
"homer_factor": 0.9612,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "693645",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9955,
"home_runs_vs_away_pitcher": 0.965,
"home_pitcher_starter_only_factor": 0.9879,
"away_pitcher_starter_only_factor": 0.9393,
"home_pitcher_workload_share": 0.5926,
"away_pitcher_workload_share": 0.6667,
"home_pitcher_quality_edge": -0.3912
},
"score_before": {
"away_runs": 4.0,
"home_runs": 2.0
},
"score_after": {
"away_runs": 3.982,
"home_runs": 1.93,
"home_win_probability": 0.3185
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away NYY | 5-5 | 0.500 | 4.60 | 4.50 | 1 | 1W | average | average |
| Home TB | 5-5 | 0.500 | 3.80 | 3.20 | 6 | 1L | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYY | 93-68 | 0.578 | 138 | 0.857 | True |
| Home TB | 98-64 | 0.605 | 86 | 0.531 | True |
| Signal | - | - | -0.326 | -0.176 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-24 | TB @ NYY | 4 - 6 | NYY | 2 | close |
| 2026-09-23 | TB @ NYY | 2 - 9 | NYY | 7 | blowout |
| 2026-09-22 | TB @ NYY | 6 - 1 | TB | 5 | blowout |
| 2026-09-22 | TB @ NYY | 0 - 2 | NYY | 2 | close |
| 2026-07-09 | NYY @ TB | 12 - 4 | NYY | 8 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYY | - | - | 4 | - | - | - | - |
| Game target TB | - | - | 2 | - | - | - | - |
| Player finalized NYY | 32 | 8 | 5 | 1 | 4 | 3 | 8 |
| Player finalized TB | 34 | 7 | 4 | 1 | 4 | 2 | 8 |
| Player model fractional NYY | 32.50 | 7.66 | 4.55 | 1.38 | 4.79 | 3.28 | 8.36 |
| Player model fractional TB | 33.27 | 7.35 | 4.31 | 0.92 | 4.14 | 2.77 | 7.66 |
| Simulation box NYY | 33 | 7 | 4 | 1 | 4 | 4 | 6 |
| Simulation box TB | 31 | 4 | 2 | 0 | 2 | 5 | 7 |
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.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | Starter | Cam Schlittler | 6 | 1 | 7 | 3 | 4 | 1.61 | 0.85 | True |
| Away NYY | Middle Reliever (High Leverage) | Paul Blackburn | 1.10 | 0 | 0 | 0 | 0 | 1.47 | 1.20 | True |
| Away NYY | Closer | David Bednar | 1 | 1 | 0 | 1 | 1 | 1.76 | 1.18 | True |
| Away NYY | Setup Man | Brent Headrick | 0.20 | 0 | 0 | 0 | 0 | 6.35 | 1.93 | True |
| Home TB | Starter | Freddy Peralta | 5.10 | 4 | 4 | 7 | 2 | 2.75 | 1.07 | True |
| Home TB | Closer | Bryan Baker | 1 | 0 | 1 | 0 | 1 | 1.46 | 0.96 | True |
| Home TB | Middle Reliever (High Leverage) | Cam Booser | 1 | 0 | 1 | 0 | 1 | 1.96 | 0.73 | True |
| Home TB | Setup Man | Kevin Kelly | 1 | 0 | 0 | 0 | 0 | 3.94 | 1.23 | True |
| Home TB | Middle Reliever (High Leverage) | Cole Sulser | 0.20 | 0 | 0 | 0 | 0 | 2.93 | 1.17 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | NYY | pitcher | Starter | Cam Schlittler | better | 2 | 1 | 1 | 2 | 0 | predicted_SO | 3.0000 | boost | better |
| away | NYY | pitcher | Closer | David Bednar | worse | 2 | 1 | 1 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| away | NYY | batter | 3B | Ryan McMahon | worse | 11 | 1 | 10 | 2 | 9 | predicted_BB | 1.7540 | boost | better |
| home | TB | batter | C | Liam Hicks | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.6150 | boost | worse |
| home | TB | batter | DH | Yandy Díaz | worse | 10 | 3 | 7 | 4 | 6 | predicted_RBI | 1.3600 | boost | better |
| away | NYY | batter | RF | Spencer Jones | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.2940 | deboost | better |
| away | NYY | batter | C | Austin Wells | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 1.1970 | boost | better |
| home | TB | batter | 1B | Jonathan Aranda | worse | 10 | 1 | 9 | 1 | 9 | predicted_AB | -1.1200 | deboost | worse |
| away | NYY | batter | CF | Trent Grisham | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | -1.1000 | deboost | worse |
| away | NYY | batter | DH | Ben Rice | better | 10 | 6 | 4 | 7 | 3 | predicted_SO | -1.0460 | deboost | better |
| away | NYY | batter | SS | George Lombard Jr. | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -1.0230 | deboost | better |
| away | NYY | pitcher | Middle Reliever (High Leverage) | Paul Blackburn | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | NYY | batter | LF | Cody Bellinger | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 0.9400 | boost | better |
| home | TB | batter | RF | Victor Mesa Jr. | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -0.9000 | deboost | worse |
| away | NYY | batter | 2B | Jazz Chisholm Jr. | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 0.8440 | boost | worse |
| home | TB | batter | 3B | Junior Caminero | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.7960 | deboost | better |
| home | TB | batter | LF | Chandler Simpson | worse | 8 | 0 | 8 | 1 | 7 | predicted_AB | -0.6600 | deboost | worse |
| home | TB | batter | CF | Jonny DeLuca | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | 0.6440 | boost | better |
| home | TB | batter | 2B | Richie Palacios | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.6400 | deboost | worse |
| home | TB | batter | SS | Taylor Walls | worse | 10 | 3 | 7 | 2 | 8 | predicted_BB | 0.6190 | boost | better |
| away | NYY | batter | 1B | Luis García Jr. | worse | 10 | 4 | 6 | 3 | 7 | predicted_R | 0.5300 | boost | better |
| away | NYY | pitcher | Setup Man | Brent Headrick | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | TB | pitcher | Middle Reliever (High Leverage) | Cole Sulser | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | TB | pitcher | Starter | Freddy Peralta | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Cam Schlittler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7136 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.8457 |
| Avg Spin | 2515.8560 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 4 |
| Pre SO | 7 |
| Season ERA | 1.8900 |
| Season WHIP | 0.9050 |
| Role Avg IP | 5.8820 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 6.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0225,
"opponent_offense_edge": 0.0121,
"defense_strength": 0.2025,
"opponent_defense_weakness": -0.1188,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0063,
"run_prevention": 0.9808,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693645",
"profile": {
"available": true,
"pitcher_id": "693645",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 691.0,
"k_percent": 31.4,
"bb_percent": 6.4,
"woba": 0.243,
"xwoba": 0.262,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.6999,
"avg_hyper_speed": 93.7524,
"whiff_percent": 29.4,
"swing_percent": 52.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8911,
"command_and_miss": 0.9479,
"regression_edge": -0.5429,
"xwoba_edge": 1.4286,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.6,
"bb_edge": 0.7,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693645",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 95.84565678559713,
"release_spin_rate": 2515.855995429108,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 95.84565678559713,
"release_spin_rate": 2515.855995429108,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.8457,
"release_spin_rate": 2515.856,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.7136,
"sample_weight": 1.0,
"run_prevention_factor": 0.9393,
"strikeout_factor": 1.0771,
"walk_factor": 0.944,
"homer_factor": 0.9612,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "693645",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9393,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9393,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 0.944,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9612,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.0771,
"adjusted": 9
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 60.1,
"ER": 7,
"H": 29,
"BB": 19,
"SO": 78,
"HR": 3,
"ERA": 1.0441988950276242,
"WHIP": 0.7955801104972375,
"K9": 11.6353591160221,
"HR9": 0.4475138121546961,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-29T00:00:00"
}{
"available": true,
"pitcher_id": "693645",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 95.84565678559713,
"release_spin_rate": 2515.855995429108,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 95.84565678559713,
"release_spin_rate": 2515.855995429108,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.8457,
"release_spin_rate": 2515.856,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "693645",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 3.0,
"R": 6.0,
"H": 12.0,
"BB": 8.0,
"SO": 39.0,
"HR": 1.0,
"BF": 106.0,
"Pitches": 475.0
},
"per_game": {
"IP": 5.2,
"ER": 0.6,
"R": 1.2,
"H": 2.4,
"BB": 1.6,
"SO": 7.8,
"HR": 0.2,
"BF": 21.2,
"Pitches": 95.0
},
"rates": {
"ERA": 0.9529,
"WHIP": 0.7059,
"ER_per_IP": 0.10588,
"H_per_IP": 0.42353,
"BB_per_IP": 0.28235,
"SO_per_IP": 1.37647,
"HR_per_IP": 0.03529
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.1,
"ER": 7.0,
"R": 10.0,
"H": 29.0,
"BB": 19.0,
"SO": 78.0,
"HR": 3.0,
"BF": 228.0,
"Pitches": 965.0
},
"per_game": {
"IP": 6.0,
"ER": 0.7,
"R": 1.0,
"H": 2.9,
"BB": 1.9,
"SO": 7.8,
"HR": 0.3,
"BF": 22.8,
"Pitches": 96.5
},
"rates": {
"ERA": 1.0442,
"WHIP": 0.7956,
"ER_per_IP": 0.11602,
"H_per_IP": 0.48066,
"BB_per_IP": 0.31492,
"SO_per_IP": 1.29282,
"HR_per_IP": 0.04972
}
},
"season": {
"games": 34,
"totals": {
"IP": 200.0,
"ER": 42.0,
"R": 52.0,
"H": 131.0,
"BB": 50.0,
"SO": 249.0,
"HR": 16.0,
"BF": 783.0,
"Pitches": 3158.0
},
"per_game": {
"IP": 6.0,
"ER": 1.2353,
"R": 1.5294,
"H": 3.8529,
"BB": 1.4706,
"SO": 7.3235,
"HR": 0.4706,
"BF": 23.0294,
"Pitches": 92.8824
},
"rates": {
"ERA": 1.89,
"WHIP": 0.905,
"ER_per_IP": 0.21,
"H_per_IP": 0.655,
"BB_per_IP": 0.25,
"SO_per_IP": 1.245,
"HR_per_IP": 0.08
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.053,
"predicted_H": 3.247,
"predicted_BB": 1.756,
"predicted_SO": 7.462,
"predicted_HR": 0.363,
"predicted_ERA": 1.6141,
"predicted_WHIP": 0.8524
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4042,
"form_weight": 0.5958,
"form_reliability": 0.8718,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.053,
"final": 1.4357,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.247,
"final": 3.1472,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.756,
"final": 2.6629,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 7.462,
"final": 6.0628,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.363,
"final": 0.2163,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6141,
"final": 1.6141,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8524,
"final": 0.8524,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Paul Blackburn |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1935 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0164 |
| Avg Velo | 89.5718 |
| Avg Spin | 2215.9743 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.5283 |
| Season WHIP | 1.0642 |
| Role Avg IP | 1.3760 |
| Recent Avg IP | 1.3330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0225,
"opponent_offense_edge": 0.0121,
"defense_strength": 0.2025,
"opponent_defense_weakness": -0.1188,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0063,
"run_prevention": 0.9808,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621112",
"profile": {
"available": true,
"pitcher_id": "621112",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 319.0,
"k_percent": 20.5,
"bb_percent": 9.8,
"woba": 0.259,
"xwoba": 0.296,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 35.2,
"avg_best_speed": 75.0557,
"avg_hyper_speed": 93.4658,
"whiff_percent": 22.8,
"swing_percent": 45.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.654,
"command_and_miss": -0.2529,
"regression_edge": -1.0571,
"xwoba_edge": 0.4571,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.3857,
"whiff_edge": -0.3429,
"bb_edge": -0.15,
"pitch_design_score": -0.0164
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "621112",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 89.57182037962974,
"release_spin_rate": 2215.974287159611,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 89.57182037962974,
"release_spin_rate": 2215.974287159611,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5718,
"release_spin_rate": 2215.9743,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0164,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1935,
"sample_weight": 1.0,
"run_prevention_factor": 0.9836,
"strikeout_factor": 0.9771,
"walk_factor": 1.012,
"homer_factor": 0.9424,
"woba_minus_xwoba": -0.037,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "621112",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9836,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9836,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9424,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9771,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 1,
"H": 8,
"BB": 6,
"SO": 5,
"HR": 1,
"ERA": 0.8709677419354839,
"WHIP": 1.3548387096774193,
"K9": 4.354838709677419,
"HR9": 0.8709677419354839,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "621112",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 89.57182037962974,
"release_spin_rate": 2215.974287159611,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 89.57182037962974,
"release_spin_rate": 2215.974287159611,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5718,
"release_spin_rate": 2215.9743,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0164,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.236,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7848,
"prior_weight": 0.2152
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "621112",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 64,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 0.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.05,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.3,
"SO_per_IP": 0.45,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 1.0,
"R": 3.0,
"H": 8.0,
"BB": 6.0,
"SO": 5.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.3,
"H": 0.8,
"BB": 0.6,
"SO": 0.5,
"HR": 0.1,
"BF": 4.4,
"Pitches": 16.5
},
"rates": {
"ERA": 0.871,
"WHIP": 1.3548,
"ER_per_IP": 0.09677,
"H_per_IP": 0.77419,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.48387,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 64,
"totals": {
"IP": 88.1,
"ER": 15.0,
"R": 19.0,
"H": 60.0,
"BB": 34.0,
"SO": 69.0,
"HR": 7.0,
"BF": 347.0,
"Pitches": 1281.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2344,
"R": 0.2969,
"H": 0.9375,
"BB": 0.5312,
"SO": 1.0781,
"HR": 0.1094,
"BF": 5.4219,
"Pitches": 20.0156
},
"rates": {
"ERA": 1.5283,
"WHIP": 1.0642,
"ER_per_IP": 0.16981,
"H_per_IP": 0.67925,
"BB_per_IP": 0.38491,
"SO_per_IP": 0.78113,
"HR_per_IP": 0.07925
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.203,
"predicted_H": 0.988,
"predicted_BB": 0.506,
"predicted_SO": 0.764,
"predicted_HR": 0.088,
"predicted_ERA": 1.4731,
"predicted_WHIP": 1.2036
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4409,
"form_weight": 0.5591,
"form_reliability": 0.7848,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.236,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7848,
"prior_weight": 0.2152
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.203,
"final": 0.1135,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.988,
"final": 0.5524,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.506,
"final": 0.2829,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.764,
"final": 0.8681,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.0492,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.4731,
"final": 1.4731,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2036,
"final": 1.2036,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | David Bednar |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7494 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0250 |
| Avg Velo | 90.3112 |
| Avg Spin | 2068.8737 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.4313 |
| Season WHIP | 1.0379 |
| Role Avg IP | 1.0820 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0225,
"opponent_offense_edge": 0.0121,
"defense_strength": 0.2025,
"opponent_defense_weakness": -0.1188,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0063,
"run_prevention": 0.9808,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670280",
"profile": {
"available": true,
"pitcher_id": "670280",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 266.0,
"k_percent": 27.1,
"bb_percent": 7.1,
"woba": 0.249,
"xwoba": 0.263,
"sweet_spot_percent": 26.4,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 35.7,
"avg_best_speed": 76.0652,
"avg_hyper_speed": 93.296,
"whiff_percent": 30.8,
"swing_percent": 53.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.0781,
"command_and_miss": 0.7064,
"regression_edge": -0.4,
"xwoba_edge": 1.4,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.8,
"bb_edge": 0.525,
"pitch_design_score": 0.025
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670280",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.31118303660337,
"release_spin_rate": 2068.873677036324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.31118303660337,
"release_spin_rate": 2068.873677036324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.3112,
"release_spin_rate": 2068.8737,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.025,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1788,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.7494,
"sample_weight": 1.0,
"run_prevention_factor": 0.9363,
"strikeout_factor": 1.0606,
"walk_factor": 0.958,
"homer_factor": 0.9045,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "670280",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9363,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9363,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.958,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9045,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0606,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 1,
"H": 9,
"BB": 3,
"SO": 12,
"HR": 1,
"ERA": 0.8181818181818182,
"WHIP": 1.0909090909090908,
"K9": 9.818181818181818,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-30T00:00:00"
}{
"available": true,
"pitcher_id": "670280",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.31118303660337,
"release_spin_rate": 2068.873677036324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.31118303660337,
"release_spin_rate": 2068.873677036324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.3112,
"release_spin_rate": 2068.8737,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.025,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1788,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.52,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7439,
"prior_weight": 0.2561
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "670280",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 2.0,
"H": 4.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.6
},
"rates": {
"ERA": 0.0,
"WHIP": 1.1667,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.5,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 3.0,
"H": 9.0,
"BB": 3.0,
"SO": 12.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.3,
"H": 0.9,
"BB": 0.3,
"SO": 1.2,
"HR": 0.1,
"BF": 4.3,
"Pitches": 17.3
},
"rates": {
"ERA": 0.8182,
"WHIP": 1.0909,
"ER_per_IP": 0.09091,
"H_per_IP": 0.81818,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 65,
"totals": {
"IP": 70.1,
"ER": 19.0,
"R": 25.0,
"H": 52.0,
"BB": 21.0,
"SO": 77.0,
"HR": 4.0,
"BF": 284.0,
"Pitches": 1176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2923,
"R": 0.3846,
"H": 0.8,
"BB": 0.3231,
"SO": 1.1846,
"HR": 0.0615,
"BF": 4.3692,
"Pitches": 18.0923
},
"rates": {
"ERA": 2.4313,
"WHIP": 1.0379,
"ER_per_IP": 0.27014,
"H_per_IP": 0.73934,
"BB_per_IP": 0.29858,
"SO_per_IP": 1.09479,
"HR_per_IP": 0.05687
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.217,
"predicted_H": 0.887,
"predicted_BB": 0.423,
"predicted_SO": 1.073,
"predicted_HR": 0.078,
"predicted_ERA": 1.7576,
"predicted_WHIP": 1.1785
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4582,
"form_weight": 0.5418,
"form_reliability": 0.7439,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.52,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7439,
"prior_weight": 0.2561
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.217,
"final": 0.1176,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.887,
"final": 0.9388,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.423,
"final": 0.6874,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.073,
"final": 1.4978,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0423,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7576,
"final": 1.7576,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1785,
"final": 1.1785,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Brent Headrick |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6409 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.1646 |
| Season WHIP | 1.2152 |
| Role Avg IP | 0.9520 |
| Recent Avg IP | 0.5330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0225,
"opponent_offense_edge": 0.0121,
"defense_strength": 0.2025,
"opponent_defense_weakness": -0.1188,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0063,
"run_prevention": 0.9808,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687396",
"profile": {
"available": true,
"pitcher_id": "687396",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 305.0,
"k_percent": 30.1,
"bb_percent": 8.3,
"woba": 0.29,
"xwoba": 0.271,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 37.3,
"avg_best_speed": 77.0129,
"avg_hyper_speed": 93.7693,
"whiff_percent": 31.8,
"swing_percent": 52.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6346,
"command_and_miss": 0.8893,
"regression_edge": 0.5429,
"xwoba_edge": 1.1714,
"barrel_edge": 0.6,
"hard_hit_edge": 0.0857,
"whiff_edge": 0.9429,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687396",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6409,
"sample_weight": 1.0,
"run_prevention_factor": 0.9455,
"strikeout_factor": 1.0834,
"walk_factor": 0.982,
"homer_factor": 0.9134,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "687396",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9455,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9455,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.982,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9134,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0834,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.2,
"ER": 4,
"H": 6,
"BB": 7,
"SO": 7,
"HR": 1,
"ERA": 5.4,
"WHIP": 1.9500000000000002,
"K9": 9.450000000000001,
"HR9": 1.35,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": false,
"pitcher_id": "687396",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.309,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7654,
"prior_weight": 0.2346
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687396",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 83,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 2.2,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 4.0,
"SO": 3.0,
"HR": 1.0,
"BF": 15.0,
"Pitches": 59.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.8,
"SO": 0.6,
"HR": 0.2,
"BF": 3.0,
"Pitches": 11.8
},
"rates": {
"ERA": 10.125,
"WHIP": 2.625,
"ER_per_IP": 1.125,
"H_per_IP": 1.125,
"BB_per_IP": 1.5,
"SO_per_IP": 1.125,
"HR_per_IP": 0.375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 6.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 7.0,
"SO": 7.0,
"HR": 1.0,
"BF": 33.0,
"Pitches": 141.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.7,
"SO": 0.7,
"HR": 0.1,
"BF": 3.3,
"Pitches": 14.1
},
"rates": {
"ERA": 5.4,
"WHIP": 1.95,
"ER_per_IP": 0.6,
"H_per_IP": 0.9,
"BB_per_IP": 1.05,
"SO_per_IP": 1.05,
"HR_per_IP": 0.15
}
},
"season": {
"games": 83,
"totals": {
"IP": 79.0,
"ER": 19.0,
"R": 20.0,
"H": 68.0,
"BB": 28.0,
"SO": 98.0,
"HR": 5.0,
"BF": 329.0,
"Pitches": 1297.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2289,
"R": 0.241,
"H": 0.8193,
"BB": 0.3373,
"SO": 1.1807,
"HR": 0.0602,
"BF": 3.9639,
"Pitches": 15.6265
},
"rates": {
"ERA": 2.1646,
"WHIP": 1.2152,
"ER_per_IP": 0.24051,
"H_per_IP": 0.86076,
"BB_per_IP": 0.35443,
"SO_per_IP": 1.24051,
"HR_per_IP": 0.06329
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.506,
"predicted_H": 0.711,
"predicted_BB": 0.676,
"predicted_SO": 0.774,
"predicted_HR": 0.153,
"predicted_ERA": 6.3489,
"predicted_WHIP": 1.9327
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4491,
"form_weight": 0.5509,
"form_reliability": 0.7654,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.309,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7654,
"prior_weight": 0.2346
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.506,
"final": 0.2787,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.711,
"final": 0.3917,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.676,
"final": 0.3724,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.774,
"final": 0.4264,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.153,
"final": 0.0843,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3489,
"final": 6.3489,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.9327,
"final": 1.9327,
"source": "form_only"
}
}
}{
"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."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.153 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.165 | 4.000 | 4.000 | Hitting_AB | 3.285 | 3.000 | 0.715 | 1.000 |
| predicted_AVG | 0.242 | 0.250 | 0.250 | Hitting_AVG | 0.257 | 0.000 | -0.007 | 0.250 |
| predicted_BB | 0.294 | 0.000 | 0.000 | Hitting_BB | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.765 | 1.000 | 1.000 | Hitting_H | 0.844 | 0.000 | 0.156 | 1.000 |
| predicted_HR | 0.129 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.306 | 0.250 | 0.250 | Hitting_OBP | 0.330 | 0.000 | -0.080 | 0.250 |
| predicted_R | 0.459 | 0.000 | 1.000 | Hitting_R | 0.474 | 0.000 | -0.474 | 0.000 |
| predicted_RBI | 0.471 | 0.000 | 1.000 | Hitting_RBI | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_SLG | 0.420 | 0.250 | 0.250 | Hitting_SLG | 0.446 | 0.000 | -0.196 | 0.250 |
| predicted_SO | 1.294 | 0.000 | 1.000 | Hitting_SO | 1.337 | 2.000 | -1.337 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.1650 -> 4.0000 (boost 0.8350, better) |
| Biggest Deboost | predicted_SO: 1.2940 -> 0.0000 (deboost -1.2940, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 2 | 4 | predicted_AB: 3.1650 -> 3.2873 (boost 0.1223, better) | predicted_SLG: 0.4200 -> 0.3934 (deboost -0.0266, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.2873 -> 4.0000 (boost 0.7127, better) | predicted_BB: 0.2813 -> 0.0000 (deboost -0.2813, worse) | AB rounded to 4 (raw=3.29), rates preserved: AVG=0.233 HR/AB=0.036 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5117 -> 1.0000 (boost 0.4883, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3289 (boost 0.3289, better) | predicted_SO: 2.0000 -> 1.3840 (deboost -0.6160, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.5111 -> 1.0000 (boost 0.4889, better) | predicted_SO: 1.3840 -> 1.0000 (deboost -0.3840, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 4 | 4 | 0 | 3 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4230 -> 0.3892 (deboost -0.0338, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682987",
"player_name": "Spencer Jones",
"position": "RF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.012,
"predicted_AB": 3.165,
"predicted_AVG": 0.242,
"predicted_BB": 0.294,
"predicted_H": 0.765,
"predicted_HR": 0.129,
"predicted_OBP": 0.306,
"predicted_R": 0.459,
"predicted_RBI": 0.471,
"predicted_SLG": 0.42,
"predicted_SO": 1.294
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1399,
"predicted_3B": 0.0103,
"predicted_AB": 3.2873,
"predicted_AVG": 0.2353,
"predicted_BB": 0.2809,
"predicted_H": 0.7718,
"predicted_HBP": 0.01,
"predicted_HR": 0.1184,
"predicted_OBP": 0.2958,
"predicted_R": 0.5165,
"predicted_RBI": 0.4422,
"predicted_SLG": 0.3934,
"predicted_SO": 1.3465
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.1399,
"delta": -0.0131,
"percent_delta": -0.0856,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.165,
"after": 3.2873,
"delta": 0.1223,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2353,
"delta": -0.0067,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.2809,
"delta": -0.0131,
"percent_delta": -0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.765,
"after": 0.7718,
"delta": 0.0068,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.129,
"after": 0.1184,
"delta": -0.0106,
"percent_delta": -0.0822,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2958,
"delta": -0.0102,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.5165,
"delta": 0.0575,
"percent_delta": 0.1253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.471,
"after": 0.4422,
"delta": -0.0288,
"percent_delta": -0.0611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3934,
"delta": -0.0266,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.294,
"after": 1.3465,
"delta": 0.0525,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.165,
"after": 3.2873,
"delta": 0.1223,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3934,
"delta": -0.0266,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1399,
"predicted_3B": 0.0103,
"predicted_AB": 3.2873,
"predicted_AVG": 0.2332,
"predicted_BB": 0.2813,
"predicted_H": 0.7667,
"predicted_HBP": 0.01,
"predicted_HR": 0.1174,
"predicted_OBP": 0.2937,
"predicted_R": 0.5117,
"predicted_RBI": 0.4381,
"predicted_SLG": 0.3892,
"predicted_SO": 1.3446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1399,
"after": 0.1399,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2873,
"after": 3.2873,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2353,
"after": 0.2332,
"delta": -0.0021,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2809,
"after": 0.2813,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7718,
"after": 0.7667,
"delta": -0.0051,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.01,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1184,
"after": 0.1174,
"delta": -0.001,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2958,
"after": 0.2937,
"delta": -0.0021,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5165,
"after": 0.5117,
"delta": -0.0048,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4422,
"after": 0.4381,
"delta": -0.0041,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3934,
"after": 0.3892,
"delta": -0.0042,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.3465,
"after": 1.3446,
"delta": -0.0019,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.29), rates preserved: AVG=0.233 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1399,
"after": 0.0,
"delta": -0.1399,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2873,
"after": 4.0,
"delta": 0.7127,
"percent_delta": 0.2168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2813,
"after": 0.0,
"delta": -0.2813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7667,
"after": 1.0,
"delta": 0.2333,
"percent_delta": 0.3043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1174,
"after": 0.0,
"delta": -0.1174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4381,
"after": 1.0,
"delta": 0.5619,
"percent_delta": 1.2826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3446,
"after": 2.0,
"delta": 0.6554,
"percent_delta": 0.4874,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.2873,
"after": 4.0,
"delta": 0.7127,
"percent_delta": 0.2168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2813,
"after": 0.0,
"delta": -0.2813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5117,
"after": 1.0,
"delta": 0.4883,
"percent_delta": 0.9543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5117,
"after": 1.0,
"delta": 0.4883,
"percent_delta": 0.9543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1841,
"predicted_3B": 0.0127,
"predicted_BB": 0.3289,
"predicted_H": 0.9226,
"predicted_HR": 0.1524,
"predicted_RBI": 0.5111,
"predicted_SO": 1.384
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1841,
"delta": 0.1841,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0127,
"delta": 0.0127,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3289,
"delta": 0.3289,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9226,
"delta": -0.0774,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1524,
"delta": 0.1524,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5111,
"delta": -0.4889,
"percent_delta": -0.4889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.384,
"delta": -0.616,
"percent_delta": -0.308,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3289,
"delta": 0.3289,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.384,
"delta": -0.616,
"percent_delta": -0.308,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1841,
"after": 0.0,
"delta": -0.1841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0127,
"after": 0.0,
"delta": -0.0127,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3289,
"after": 0.0,
"delta": -0.3289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9226,
"after": 1.0,
"delta": 0.0774,
"percent_delta": 0.0839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1524,
"after": 0.0,
"delta": -0.1524,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5111,
"after": 1.0,
"delta": 0.4889,
"percent_delta": 0.9566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.384,
"after": 1.0,
"delta": -0.384,
"percent_delta": -0.2775,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5111,
"after": 1.0,
"delta": 0.4889,
"percent_delta": 0.9566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.384,
"after": 1.0,
"delta": -0.384,
"percent_delta": -0.2775,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.245,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.423,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2332,
"after": 0.245,
"delta": 0.0118,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2937,
"after": 0.311,
"delta": 0.0173,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3892,
"after": 0.423,
"delta": 0.0338,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2332,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2937,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3892,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2332,
"delta": -0.0118,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2937,
"delta": -0.0173,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.3892,
"delta": -0.0338,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.3892,
"delta": -0.0338,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.165,
"after": 4.0,
"delta": 0.835,
"percent_delta": 0.2638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2332,
"delta": -0.0088,
"percent_delta": -0.0364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.765,
"after": 1.0,
"delta": 0.235,
"percent_delta": 0.3072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2937,
"delta": -0.0123,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3892,
"delta": -0.0308,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.294,
"after": 0.0,
"delta": -1.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.165,
"after": 4.0,
"delta": 0.835,
"percent_delta": 0.2638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.294,
"after": 0.0,
"delta": -1.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.165 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 0.765 | - |
| predicted_HR | 0.129 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.471 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 1.294 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | -0.013 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.287 | 0.122 |
| predicted_AVG | 0.235 | -0.007 |
| predicted_BB | 0.281 | -0.013 |
| predicted_H | 0.772 | 0.007 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.118 | -0.011 |
| predicted_OBP | 0.296 | -0.010 |
| predicted_R | 0.516 | 0.057 |
| predicted_RBI | 0.442 | -0.029 |
| predicted_SLG | 0.393 | -0.027 |
| predicted_SO | 1.347 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.287 | 0.000 |
| predicted_AVG | 0.233 | -0.002 |
| predicted_BB | 0.281 | 0.000 |
| predicted_H | 0.767 | -0.005 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.117 | -0.001 |
| predicted_OBP | 0.294 | -0.002 |
| predicted_R | 0.512 | -0.005 |
| predicted_RBI | 0.438 | -0.004 |
| predicted_SLG | 0.389 | -0.004 |
| predicted_SO | 1.345 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.29), rates preserved: AVG=0.233 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.184 | 0.184 |
| 3B | 0.013 | 0.013 |
| BB | 0.329 | 0.329 |
| H | 0.923 | -0.077 |
| HR | 0.152 | 0.152 |
| RBI | 0.511 | -0.489 |
| SO | 1.384 | -0.616 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.184 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.329 |
| H | 1.000 | 0.077 |
| HR | 0.000 | -0.152 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.489 |
| SO | 1.000 | -0.384 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.140 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.713 |
| predicted_AVG | 0.245 | 0.012 |
| predicted_BB | 0.000 | -0.281 |
| predicted_H | 1.000 | 0.233 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.311 | 0.017 |
| predicted_R | 1.000 | 0.488 |
| predicted_RBI | 1.000 | 0.562 |
| predicted_SLG | 0.423 | 0.034 |
| predicted_SO | 2.000 | 0.655 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 9.000 | 0.2105 | 0.2500 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.0526 | 0.4737 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 7.000 | 2.000 | 17.000 | 0.1842 | 0.2250 | 0.2895 | 0.1842 | 0.0263 | 0.0790 | 0.0526 | 0.4474 |
| season | 0.60 | 85 | - | 269.000 | 65.000 | 13.000 | 1.000 | 11.000 | 40.000 | 39.000 | 25.000 | 110.000 | 0.2416 | 0.3074 | 0.4201 | 0.2416 | 0.0409 | 0.1487 | 0.0929 | 0.4089 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4540 |
| predicted_AVG | 0.2261 |
| predicted_BB | 0.2630 |
| predicted_H | 0.7810 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1040 |
| predicted_OBP | 0.2818 |
| predicted_R | 0.5950 |
| predicted_RBI | 0.4030 |
| predicted_SLG | 0.3571 |
| predicted_SO | 1.4180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.1220 | 0.1399 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.1650 | 3.4540 | 3.2873 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2261 | 0.2353 | model_form_blend |
| predicted_BB | 0.2940 | 0.2630 | 0.2809 | model_form_blend |
| predicted_H | 0.7650 | 0.7810 | 0.7718 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1290 | 0.1040 | 0.1184 | model_form_blend |
| predicted_OBP | 0.3060 | 0.2818 | 0.2958 | model_form_blend |
| predicted_R | 0.4590 | 0.5950 | 0.5165 | model_form_blend |
| predicted_RBI | 0.4710 | 0.4030 | 0.4422 | model_form_blend |
| predicted_SLG | 0.4200 | 0.3571 | 0.3934 | model_form_blend |
| predicted_SO | 1.2940 | 1.4180 | 1.3465 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 270 |
| Season rows before report date | 270 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 682987 |
| playerID | 682987 |
| playerName | Spencer Jones |
| pos | CF |
| started | True |
| startingPosition | RF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 36.3 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.323 |
| sl_xwoba | 0.328 |
| sl_xba | 0.238 |
| sl_xslg | 0.455 |
| sl_sweet_spot_percent | 43.9 |
| sl_barrel_batted_rate | 15.9 |
| sl_hard_hit_percent | 55.1 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 38.7 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.340 | 4.000 | 4.000 | Hitting_AB | 3.831 | 3.000 | 0.169 | 1.000 |
| predicted_AVG | 0.269 | 0.500 | 0.250 | Hitting_AVG | 0.270 | 0.000 | 0.230 | 0.500 |
| predicted_BB | 0.569 | 1.000 | 1.000 | Hitting_BB | 0.603 | 1.000 | 0.397 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_H | 1.170 | 2.000 | 1.000 | Hitting_H | 1.036 | 0.000 | 0.964 | 2.000 |
| predicted_HR | 0.240 | 1.000 | 1.000 | Hitting_HR | 0.266 | 0.000 | 0.734 | 1.000 |
| predicted_OBP | 0.385 | 0.600 | 0.400 | Hitting_OBP | 0.375 | 0.250 | 0.225 | 0.350 |
| predicted_R | 0.699 | 1.000 | 1.000 | Hitting_R | 0.718 | 0.000 | 0.282 | 1.000 |
| predicted_RBI | 0.750 | 1.000 | 1.000 | Hitting_RBI | 0.679 | 0.000 | 0.321 | 1.000 |
| predicted_SLG | 0.537 | 1.250 | 1.000 | Hitting_SLG | 0.533 | 0.000 | 0.717 | 1.250 |
| predicted_SO | 1.046 | 0.000 | 1.000 | Hitting_SO | 1.058 | 2.000 | -1.058 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 1.1700 -> 2.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_SO: 1.0460 -> 0.0000 (deboost -1.0460, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_SO: 1.0460 -> 1.1081 (boost 0.0621, worse) | predicted_AB: 4.3400 -> 4.0968 (deboost -0.2432, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5748 -> 0.5366 (deboost -0.0382, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.5777 -> 1.0000 (boost 0.4223, better) | predicted_HR: 0.2709 -> 0.0000 (deboost -0.2709, worse) | AB rounded to 4 (raw=4.34), rates preserved: AVG=0.266 HR/AB=0.062 |
| 6 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7055 -> 1.0000 (boost 0.2945, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 4 | 1 | predicted_BB: 0.0000 -> 0.4797 (boost 0.4797, better) | predicted_RBI: 1.0000 -> 0.5785 (deboost -0.4215, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 4 | 1 | 3 | 2 | predicted_HR: 0.2645 -> 1.0000 (boost 0.7355, better) | predicted_2B: 0.1674 -> 0.0000 (deboost -0.1674, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3470 -> 0.3704 (boost 0.0234, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.026,
"predicted_AB": 4.34,
"predicted_AVG": 0.269,
"predicted_BB": 0.569,
"predicted_H": 1.17,
"predicted_HR": 0.24,
"predicted_OBP": 0.385,
"predicted_R": 0.699,
"predicted_RBI": 0.75,
"predicted_SLG": 0.537,
"predicted_SO": 1.046
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1889,
"predicted_3B": 0.0216,
"predicted_AB": 4.0968,
"predicted_AVG": 0.2843,
"predicted_BB": 0.5769,
"predicted_H": 1.1613,
"predicted_HBP": 0.024,
"predicted_HR": 0.2732,
"predicted_OBP": 0.3916,
"predicted_R": 0.7121,
"predicted_RBI": 0.7592,
"predicted_SLG": 0.5748,
"predicted_SO": 1.1081
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1889,
"delta": 0.0319,
"percent_delta": 0.2032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0216,
"delta": -0.0044,
"percent_delta": -0.1692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0968,
"delta": -0.2432,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2843,
"delta": 0.0153,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.569,
"after": 0.5769,
"delta": 0.0079,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.1613,
"delta": -0.0087,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2732,
"delta": 0.0332,
"percent_delta": 0.1383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.385,
"after": 0.3916,
"delta": 0.0066,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.699,
"after": 0.7121,
"delta": 0.0131,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 0.7592,
"delta": 0.0092,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.5748,
"delta": 0.0378,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.046,
"after": 1.1081,
"delta": 0.0621,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.046,
"after": 1.1081,
"delta": 0.0621,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0968,
"delta": -0.2432,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 153
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1889,
"predicted_3B": 0.0216,
"predicted_AB": 4.0968,
"predicted_AVG": 0.2816,
"predicted_BB": 0.5777,
"predicted_H": 1.1536,
"predicted_HBP": 0.024,
"predicted_HR": 0.2709,
"predicted_OBP": 0.3704,
"predicted_R": 0.7055,
"predicted_RBI": 0.7521,
"predicted_SLG": 0.5366,
"predicted_SO": 1.1065
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1889,
"after": 0.1889,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0216,
"after": 0.0216,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0968,
"after": 4.0968,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2843,
"after": 0.2816,
"delta": -0.0027,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5769,
"after": 0.5777,
"delta": 0.0008,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1613,
"after": 1.1536,
"delta": -0.0077,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2732,
"after": 0.2709,
"delta": -0.0023,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3916,
"after": 0.3704,
"delta": -0.0212,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7121,
"after": 0.7055,
"delta": -0.0066,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7592,
"after": 0.7521,
"delta": -0.0071,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5748,
"after": 0.5366,
"delta": -0.0382,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1081,
"after": 1.1065,
"delta": -0.0016,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5748,
"after": 0.5366,
"delta": -0.0382,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.34), rates preserved: AVG=0.266 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1889,
"after": 0.0,
"delta": -0.1889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0216,
"after": 0.0,
"delta": -0.0216,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0968,
"after": 4.0,
"delta": -0.0968,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5777,
"after": 1.0,
"delta": 0.4223,
"percent_delta": 0.731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1536,
"after": 1.0,
"delta": -0.1536,
"percent_delta": -0.1331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2709,
"after": 0.0,
"delta": -0.2709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7521,
"after": 1.0,
"delta": 0.2479,
"percent_delta": 0.3296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1065,
"after": 1.0,
"delta": -0.1065,
"percent_delta": -0.0962,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5777,
"after": 1.0,
"delta": 0.4223,
"percent_delta": 0.731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2709,
"after": 0.0,
"delta": -0.2709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7055,
"after": 1.0,
"delta": 0.2945,
"percent_delta": 0.4174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7055,
"after": 1.0,
"delta": 0.2945,
"percent_delta": 0.4174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1674,
"predicted_3B": 0.016,
"predicted_BB": 0.4797,
"predicted_H": 0.979,
"predicted_HR": 0.2645,
"predicted_RBI": 0.5785,
"predicted_SO": 0.9463
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1674,
"delta": 0.1674,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.016,
"delta": 0.016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4797,
"delta": 0.4797,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.979,
"delta": -0.021,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2645,
"delta": 0.2645,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5785,
"delta": -0.4215,
"percent_delta": -0.4215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9463,
"delta": -0.0537,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4797,
"delta": 0.4797,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5785,
"delta": -0.4215,
"percent_delta": -0.4215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1674,
"after": 0.0,
"delta": -0.1674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4797,
"after": 1.0,
"delta": 0.5203,
"percent_delta": 1.0846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.979,
"after": 1.0,
"delta": 0.021,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2645,
"after": 1.0,
"delta": 0.7355,
"percent_delta": 2.7807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5785,
"after": 1.0,
"delta": 0.4215,
"percent_delta": 0.7286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9463,
"after": 1.0,
"delta": 0.0537,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.2645,
"after": 1.0,
"delta": 0.7355,
"percent_delta": 2.7807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1674,
"after": 0.0,
"delta": -0.1674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.259,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.347,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.521,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2816,
"after": 0.259,
"delta": -0.0226,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3704,
"after": 0.347,
"delta": -0.0234,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5366,
"after": 0.521,
"delta": -0.0156,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2816,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3704,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5366,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2816,
"delta": 0.0226,
"percent_delta": 0.0872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3704,
"delta": 0.0234,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.521,
"after": 0.5366,
"delta": 0.0156,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3704,
"delta": 0.0234,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0,
"delta": -0.34,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2816,
"delta": 0.0126,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 2.0,
"delta": 0.83,
"percent_delta": 0.7094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.385,
"after": 0.3704,
"delta": -0.0146,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.699,
"after": 1.0,
"delta": 0.301,
"percent_delta": 0.4306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.5366,
"delta": -0.0004,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.046,
"after": 0.0,
"delta": -1.046,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.17,
"after": 2.0,
"delta": 0.83,
"percent_delta": 0.7094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.046,
"after": 0.0,
"delta": -1.046,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.569 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.385 | - |
| predicted_R | 0.699 | - |
| predicted_RBI | 0.750 | - |
| predicted_SLG | 0.537 | - |
| predicted_SO | 1.046 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.032 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 4.097 | -0.243 |
| predicted_AVG | 0.284 | 0.015 |
| predicted_BB | 0.577 | 0.008 |
| predicted_H | 1.161 | -0.009 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.273 | 0.033 |
| predicted_OBP | 0.392 | 0.007 |
| predicted_R | 0.712 | 0.013 |
| predicted_RBI | 0.759 | 0.009 |
| predicted_SLG | 0.575 | 0.038 |
| predicted_SO | 1.108 | 0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 4.097 | 0.000 |
| predicted_AVG | 0.282 | -0.003 |
| predicted_BB | 0.578 | 0.001 |
| predicted_H | 1.154 | -0.008 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.271 | -0.002 |
| predicted_OBP | 0.370 | -0.021 |
| predicted_R | 0.706 | -0.007 |
| predicted_RBI | 0.752 | -0.007 |
| predicted_SLG | 0.537 | -0.038 |
| predicted_SO | 1.107 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.34), rates preserved: AVG=0.266 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.167 | 0.167 |
| 3B | 0.016 | 0.016 |
| BB | 0.480 | 0.480 |
| H | 0.979 | -0.021 |
| HR | 0.265 | 0.265 |
| RBI | 0.579 | -0.421 |
| SO | 0.946 | -0.054 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.167 |
| 3B | 0.000 | -0.016 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.520 |
| H | 1.000 | 0.021 |
| HR | 1.000 | 0.736 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.421 |
| SO | 1.000 | 0.054 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.189 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | -0.097 |
| predicted_AVG | 0.259 | -0.023 |
| predicted_BB | 0.000 | -0.578 |
| predicted_H | 1.000 | -0.154 |
| predicted_HR | 0.000 | -0.271 |
| predicted_OBP | 0.347 | -0.023 |
| predicted_R | 1.000 | 0.294 |
| predicted_RBI | 1.000 | 0.248 |
| predicted_SLG | 0.521 | -0.016 |
| predicted_SO | 1.000 | -0.107 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 2.000 | 0.000 | 2.000 | 6.000 | 4.000 | 3.000 | 8.000 | 0.4000 | 0.4783 | 0.8000 | 0.4000 | 0.1000 | 0.3000 | 0.1500 | 0.4000 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 3.000 | 0.000 | 4.000 | 8.000 | 8.000 | 7.000 | 13.000 | 0.3243 | 0.4318 | 0.7297 | 0.3243 | 0.1081 | 0.2162 | 0.1892 | 0.3513 |
| season | 0.60 | 153 | - | 572.000 | 154.000 | 24.000 | 4.000 | 42.000 | 99.000 | 107.000 | 87.000 | 160.000 | 0.2692 | 0.3703 | 0.5455 | 0.2692 | 0.0734 | 0.1731 | 0.1521 | 0.2797 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2300 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.7840 |
| predicted_AVG | 0.3039 |
| predicted_BB | 0.5870 |
| predicted_H | 1.1500 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.3160 |
| predicted_OBP | 0.4000 |
| predicted_R | 0.7290 |
| predicted_RBI | 0.7710 |
| predicted_SLG | 0.6235 |
| predicted_SO | 1.1880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.2300 | 0.1889 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0216 | model_form_blend |
| predicted_AB | 4.3400 | 3.7840 | 4.0968 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3039 | 0.2843 | model_form_blend |
| predicted_BB | 0.5690 | 0.5870 | 0.5769 | model_form_blend |
| predicted_H | 1.1700 | 1.1500 | 1.1613 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.2400 | 0.3160 | 0.2732 | model_form_blend |
| predicted_OBP | 0.3850 | 0.4000 | 0.3916 | model_form_blend |
| predicted_R | 0.6990 | 0.7290 | 0.7121 | model_form_blend |
| predicted_RBI | 0.7500 | 0.7710 | 0.7592 | model_form_blend |
| predicted_SLG | 0.5370 | 0.6235 | 0.5748 | model_form_blend |
| predicted_SO | 1.0460 | 1.1880 | 1.1081 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 635 |
| Season rows before report date | 635 |
| Report year | 2026 |
| Profile rows used | 153 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 700250 |
| playerID | 700250 |
| playerName | Ben Rice |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.384 |
| sl_xwoba | 0.378 |
| sl_xba | 0.267 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 0.000 | 1.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.150 | 4.000 | 4.000 | Hitting_AB | 3.913 | 3.000 | 0.087 | 1.000 |
| predicted_AVG | 0.258 | 0.250 | 0.250 | Hitting_AVG | 0.298 | 0.000 | -0.048 | 0.250 |
| predicted_BB | 0.168 | 0.000 | 0.000 | Hitting_BB | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 1.070 | 1.000 | 1.000 | Hitting_H | 1.167 | 0.000 | -0.167 | 1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.250 | Hitting_OBP | 0.335 | 0.000 | -0.085 | 0.250 |
| predicted_R | 0.470 | 1.000 | 0.000 | Hitting_R | 0.547 | 0.000 | 0.453 | 1.000 |
| predicted_RBI | 0.600 | 1.000 | 1.000 | Hitting_RBI | 0.473 | 0.000 | 0.527 | 1.000 |
| predicted_SLG | 0.449 | 0.250 | 0.500 | Hitting_SLG | 0.506 | 0.000 | -0.256 | 0.250 |
| predicted_SO | 0.658 | 1.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | 0.200 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.4700 -> 1.0000 (boost 0.5300, better) |
| Biggest Deboost | predicted_HR: 0.2300 -> 0.0000 (deboost -0.2300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4490 -> 0.4552 (boost 0.0062, better) | predicted_AB: 4.1500 -> 3.8534 (deboost -0.2966, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4552 -> 0.4720 (boost 0.0168, better) | predicted_OBP: 0.3025 -> 0.2937 (deboost -0.0088, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.5484 -> 1.0000 (boost 0.4516, better) | predicted_HR: 0.2079 -> 0.0000 (deboost -0.2079, worse) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.240 HR/AB=0.050 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4726 -> 0.0000 (deboost -0.4726, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 4 | 1 | predicted_2B: 0.0000 -> 0.2257 (boost 0.2257, better) | predicted_RBI: 1.0000 -> 0.5976 (deboost -0.4024, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 3 | 2 | 2 | 3 | predicted_2B: 0.2257 -> 1.0000 (boost 0.7743, better) | predicted_BB: 0.2107 -> 0.0000 (deboost -0.2107, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4720 -> 0.5000 (boost 0.0280, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5000 -> 0.4720 (deboost -0.0280, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.034,
"predicted_AB": 4.15,
"predicted_AVG": 0.258,
"predicted_BB": 0.168,
"predicted_H": 1.07,
"predicted_HR": 0.23,
"predicted_OBP": 0.299,
"predicted_R": 0.47,
"predicted_RBI": 0.6,
"predicted_SLG": 0.449,
"predicted_SO": 0.658
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1444,
"predicted_3B": 0.0279,
"predicted_AB": 3.8534,
"predicted_AVG": 0.2602,
"predicted_BB": 0.1932,
"predicted_H": 1.0017,
"predicted_HBP": 0.002,
"predicted_HR": 0.2096,
"predicted_OBP": 0.3025,
"predicted_R": 0.477,
"predicted_RBI": 0.5535,
"predicted_SLG": 0.4552,
"predicted_SO": 0.685
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.1444,
"delta": -0.0296,
"percent_delta": -0.1701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0279,
"delta": -0.0061,
"percent_delta": -0.1794,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 3.8534,
"delta": -0.2966,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2602,
"delta": 0.0022,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.168,
"after": 0.1932,
"delta": 0.0252,
"percent_delta": 0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0017,
"delta": -0.0683,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2096,
"delta": -0.0204,
"percent_delta": -0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3025,
"delta": 0.0035,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.477,
"delta": 0.007,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.5535,
"delta": -0.0465,
"percent_delta": -0.0775,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4552,
"delta": 0.0062,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.658,
"after": 0.685,
"delta": 0.027,
"percent_delta": 0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4552,
"delta": 0.0062,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 3.8534,
"delta": -0.2966,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 149
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1444,
"predicted_3B": 0.0279,
"predicted_AB": 3.8534,
"predicted_AVG": 0.2582,
"predicted_BB": 0.1935,
"predicted_H": 0.9951,
"predicted_HBP": 0.002,
"predicted_HR": 0.2079,
"predicted_OBP": 0.2937,
"predicted_R": 0.4726,
"predicted_RBI": 0.5484,
"predicted_SLG": 0.472,
"predicted_SO": 0.684
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1444,
"after": 0.1444,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0279,
"after": 0.0279,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8534,
"after": 3.8534,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2602,
"after": 0.2582,
"delta": -0.002,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1932,
"after": 0.1935,
"delta": 0.0003,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0017,
"after": 0.9951,
"delta": -0.0066,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2096,
"after": 0.2079,
"delta": -0.0017,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.2937,
"delta": -0.0088,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.477,
"after": 0.4726,
"delta": -0.0044,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5535,
"after": 0.5484,
"delta": -0.0051,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4552,
"after": 0.472,
"delta": 0.0168,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.685,
"after": 0.684,
"delta": -0.001,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4552,
"after": 0.472,
"delta": 0.0168,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.2937,
"delta": -0.0088,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.15), rates preserved: AVG=0.240 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1444,
"after": 0.0,
"delta": -0.1444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0279,
"after": 0.0,
"delta": -0.0279,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8534,
"after": 4.0,
"delta": 0.1466,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1935,
"after": 0.0,
"delta": -0.1935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9951,
"after": 1.0,
"delta": 0.0049,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2079,
"after": 0.0,
"delta": -0.2079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5484,
"after": 1.0,
"delta": 0.4516,
"percent_delta": 0.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 1.0,
"delta": 0.316,
"percent_delta": 0.462,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5484,
"after": 1.0,
"delta": 0.4516,
"percent_delta": 0.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2079,
"after": 0.0,
"delta": -0.2079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4726,
"after": 0.0,
"delta": -0.4726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4726,
"after": 0.0,
"delta": -0.4726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2257,
"predicted_3B": 0.0194,
"predicted_BB": 0.2107,
"predicted_H": 1.049,
"predicted_HR": 0.2069,
"predicted_RBI": 0.5976,
"predicted_SO": 0.7598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2257,
"delta": 0.2257,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0194,
"delta": 0.0194,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2107,
"delta": 0.2107,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.049,
"delta": 0.049,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2069,
"delta": 0.2069,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5976,
"delta": -0.4024,
"percent_delta": -0.4024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7598,
"delta": -0.2402,
"percent_delta": -0.2402,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2257,
"delta": 0.2257,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5976,
"delta": -0.4024,
"percent_delta": -0.4024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2257,
"after": 1.0,
"delta": 0.7743,
"percent_delta": 3.4307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0194,
"after": 0.0,
"delta": -0.0194,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2107,
"after": 0.0,
"delta": -0.2107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.049,
"after": 1.0,
"delta": -0.049,
"percent_delta": -0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2069,
"after": 0.0,
"delta": -0.2069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5976,
"after": 1.0,
"delta": 0.4024,
"percent_delta": 0.6734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7598,
"after": 1.0,
"delta": 0.2402,
"percent_delta": 0.3161,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.2257,
"after": 1.0,
"delta": 0.7743,
"percent_delta": 3.4307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2107,
"after": 0.0,
"delta": -0.2107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.271,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.5,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2582,
"after": 0.271,
"delta": 0.0128,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2937,
"after": 0.314,
"delta": 0.0203,
"percent_delta": 0.0691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.5,
"delta": 0.028,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.5,
"delta": 0.028,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2582,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2937,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.472,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2582,
"delta": -0.0128,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2937,
"delta": -0.0203,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.472,
"delta": -0.028,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.472,
"delta": -0.028,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0,
"delta": -0.15,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2582,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.168,
"after": 0.0,
"delta": -0.168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2937,
"delta": -0.0053,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.472,
"delta": 0.023,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.658,
"after": 1.0,
"delta": 0.342,
"percent_delta": 0.5198,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.168 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 0.658 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | -0.030 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 3.853 | -0.297 |
| predicted_AVG | 0.260 | 0.002 |
| predicted_BB | 0.193 | 0.025 |
| predicted_H | 1.002 | -0.068 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.210 | -0.020 |
| predicted_OBP | 0.302 | 0.004 |
| predicted_R | 0.477 | 0.007 |
| predicted_RBI | 0.553 | -0.046 |
| predicted_SLG | 0.455 | 0.006 |
| predicted_SO | 0.685 | 0.027 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.853 | 0.000 |
| predicted_AVG | 0.258 | -0.002 |
| predicted_BB | 0.194 | 0.000 |
| predicted_H | 0.995 | -0.007 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.208 | -0.002 |
| predicted_OBP | 0.294 | -0.009 |
| predicted_R | 0.473 | -0.004 |
| predicted_RBI | 0.548 | -0.005 |
| predicted_SLG | 0.472 | 0.017 |
| predicted_SO | 0.684 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.240 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.226 | 0.226 |
| 3B | 0.019 | 0.019 |
| BB | 0.211 | 0.211 |
| H | 1.049 | 0.049 |
| HR | 0.207 | 0.207 |
| RBI | 0.598 | -0.402 |
| SO | 0.760 | -0.240 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.774 |
| 3B | 0.000 | -0.019 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.211 |
| H | 1.000 | -0.049 |
| HR | 0.000 | -0.207 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.402 |
| SO | 1.000 | 0.240 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.144 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 4.000 | 0.147 |
| predicted_AVG | 0.271 | 0.013 |
| predicted_BB | 0.000 | -0.194 |
| predicted_H | 1.000 | 0.005 |
| predicted_HR | 0.000 | -0.208 |
| predicted_OBP | 0.314 | 0.020 |
| predicted_R | 0.000 | -0.473 |
| predicted_RBI | 1.000 | 0.452 |
| predicted_SLG | 0.500 | 0.028 |
| predicted_SO | 1.000 | 0.316 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 3.000 | 0.3125 | 0.3889 | 0.5000 | 0.3125 | 0.0625 | 0.1250 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 10.000 | 0.1714 | 0.2162 | 0.2571 | 0.1714 | 0.0286 | 0.0571 | 0.0571 | 0.2857 |
| season | 0.60 | 149 | - | 524.000 | 146.000 | 26.000 | 5.000 | 31.000 | 93.000 | 70.000 | 25.000 | 98.000 | 0.2786 | 0.3103 | 0.5248 | 0.2786 | 0.0592 | 0.1775 | 0.0477 | 0.1870 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.4680 |
| predicted_AVG | 0.2631 |
| predicted_BB | 0.2260 |
| predicted_H | 0.9130 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1830 |
| predicted_OBP | 0.3071 |
| predicted_R | 0.4860 |
| predicted_RBI | 0.4930 |
| predicted_SLG | 0.4633 |
| predicted_SO | 0.7200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1060 | 0.1444 | model_form_blend |
| predicted_3B | 0.0340 | 0.0200 | 0.0279 | model_form_blend |
| predicted_AB | 4.1500 | 3.4680 | 3.8534 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2631 | 0.2602 | model_form_blend |
| predicted_BB | 0.1680 | 0.2260 | 0.1932 | model_form_blend |
| predicted_H | 1.0700 | 0.9130 | 1.0017 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.2300 | 0.1830 | 0.2096 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3071 | 0.3025 | model_form_blend |
| predicted_R | 0.4700 | 0.4860 | 0.4770 | model_form_blend |
| predicted_RBI | 0.6000 | 0.4930 | 0.5535 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4633 | 0.4552 | model_form_blend |
| predicted_SO | 0.6580 | 0.7200 | 0.6850 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 150 |
| Season rows before report date | 150 |
| Report year | 2026 |
| Profile rows used | 149 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 671277 |
| playerID | 671277 |
| playerName | Luis García Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.355 |
| sl_xwoba | 0.341 |
| sl_xba | 0.276 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.091 | 0.000 | 0.000 | Hitting_2B | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.000 | 3.000 | 4.000 | Hitting_AB | 3.638 | 3.000 | -0.638 | 0.000 |
| predicted_AVG | 0.250 | 0.000 | 0.250 | Hitting_AVG | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_BB | 0.227 | 0.000 | 0.000 | Hitting_BB | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 0.830 | 0.000 | -0.830 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.250 | Hitting_OBP | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_R | 0.591 | 1.000 | 1.000 | Hitting_R | 0.574 | 0.000 | 0.426 | 1.000 |
| predicted_RBI | 0.570 | 1.000 | 0.000 | Hitting_RBI | 0.397 | 0.000 | 0.603 | 1.000 |
| predicted_SLG | 0.420 | 0.000 | 0.250 | Hitting_SLG | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_SO | 1.023 | 0.000 | 1.000 | Hitting_SO | 1.035 | 1.000 | -1.035 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.5700 -> 1.0000 (boost 0.4300, better) |
| Biggest Deboost | predicted_SO: 1.0230 -> 0.0000 (deboost -1.0230, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4200 -> 0.4346 (boost 0.0146, better) | predicted_AB: 4.0000 -> 3.8918 (deboost -0.1082, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.5805 -> 1.0000 (boost 0.4195, better) | predicted_BB: 0.1992 -> 0.0000 (deboost -0.1992, worse) | AB rounded to 4 (raw=4.00), rates preserved: AVG=0.248 HR/AB=0.045 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6149 -> 1.0000 (boost 0.3851, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.2520 (boost 0.2520, better) | predicted_RBI: 1.0000 -> 0.5049 (deboost -0.4951, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.9353 -> 1.0000 (boost 0.0647, better) | predicted_RBI: 0.5049 -> 0.0000 (deboost -0.5049, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 4 | 2 | 2 | 2 | 2 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.4305 -> 0.4190 (deboost -0.0115, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 2 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4190 -> 0.4305 (boost 0.0115, better) | predicted_OBP: 0.3010 -> 0.2910 (deboost -0.0100, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806146",
"player_name": "George Lombard Jr.",
"position": "SS",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.023,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.227,
"predicted_H": 1.0,
"predicted_HR": 0.18,
"predicted_OBP": 0.285,
"predicted_R": 0.591,
"predicted_RBI": 0.57,
"predicted_SLG": 0.42,
"predicted_SO": 1.023
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.104,
"predicted_3B": 0.0193,
"predicted_AB": 3.8918,
"predicted_AVG": 0.2567,
"predicted_BB": 0.1989,
"predicted_H": 0.998,
"predicted_HBP": 0.017,
"predicted_HR": 0.182,
"predicted_OBP": 0.2902,
"predicted_R": 0.6207,
"predicted_RBI": 0.5859,
"predicted_SLG": 0.4346,
"predicted_SO": 1.0234
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.104,
"delta": 0.013,
"percent_delta": 0.1429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0193,
"delta": -0.0037,
"percent_delta": -0.1609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.8918,
"delta": -0.1082,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2567,
"delta": 0.0067,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.1989,
"delta": -0.0281,
"percent_delta": -0.1238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.998,
"delta": -0.002,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.182,
"delta": 0.002,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2902,
"delta": 0.0052,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.6207,
"delta": 0.0297,
"percent_delta": 0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5859,
"delta": 0.0159,
"percent_delta": 0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4346,
"delta": 0.0146,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.023,
"after": 1.0234,
"delta": 0.0004,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4346,
"delta": 0.0146,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.8918,
"delta": -0.1082,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.104,
"predicted_3B": 0.0193,
"predicted_AB": 3.8918,
"predicted_AVG": 0.2547,
"predicted_BB": 0.1992,
"predicted_H": 0.9914,
"predicted_HBP": 0.017,
"predicted_HR": 0.1805,
"predicted_OBP": 0.291,
"predicted_R": 0.6149,
"predicted_RBI": 0.5805,
"predicted_SLG": 0.4305,
"predicted_SO": 1.022
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.104,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0193,
"after": 0.0193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8918,
"after": 3.8918,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2567,
"after": 0.2547,
"delta": -0.002,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1989,
"after": 0.1992,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.998,
"after": 0.9914,
"delta": -0.0066,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.182,
"after": 0.1805,
"delta": -0.0015,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2902,
"after": 0.291,
"delta": 0.0008,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6207,
"after": 0.6149,
"delta": -0.0058,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5859,
"after": 0.5805,
"delta": -0.0054,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4346,
"after": 0.4305,
"delta": -0.0041,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0234,
"after": 1.022,
"delta": -0.0014,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.00), rates preserved: AVG=0.248 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0193,
"after": 0.0,
"delta": -0.0193,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8918,
"after": 4.0,
"delta": 0.1082,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1992,
"after": 0.0,
"delta": -0.1992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9914,
"after": 1.0,
"delta": 0.0086,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1805,
"after": 0.0,
"delta": -0.1805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5805,
"after": 1.0,
"delta": 0.4195,
"percent_delta": 0.7227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.022,
"after": 1.0,
"delta": -0.022,
"percent_delta": -0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5805,
"after": 1.0,
"delta": 0.4195,
"percent_delta": 0.7227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1992,
"after": 0.0,
"delta": -0.1992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6149,
"after": 1.0,
"delta": 0.3851,
"percent_delta": 0.6263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6149,
"after": 1.0,
"delta": 0.3851,
"percent_delta": 0.6263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1606,
"predicted_3B": 0.0138,
"predicted_BB": 0.252,
"predicted_H": 0.9353,
"predicted_HR": 0.1517,
"predicted_RBI": 0.5049,
"predicted_SO": 1.0275
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1606,
"delta": 0.1606,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0138,
"delta": 0.0138,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.252,
"delta": 0.252,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9353,
"delta": -0.0647,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1517,
"delta": 0.1517,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5049,
"delta": -0.4951,
"percent_delta": -0.4951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0275,
"delta": 0.0275,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.252,
"delta": 0.252,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5049,
"delta": -0.4951,
"percent_delta": -0.4951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1606,
"after": 0.0,
"delta": -0.1606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0138,
"after": 0.0,
"delta": -0.0138,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9353,
"after": 1.0,
"delta": 0.0647,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1517,
"after": 0.0,
"delta": -0.1517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5049,
"after": 0.0,
"delta": -0.5049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0275,
"after": 1.0,
"delta": -0.0275,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9353,
"after": 1.0,
"delta": 0.0647,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5049,
"after": 0.0,
"delta": -0.5049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.248,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.419,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.248,
"delta": -0.0067,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.301,
"delta": 0.01,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4305,
"after": 0.419,
"delta": -0.0115,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4305,
"after": 0.419,
"delta": -0.0115,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2547,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.291,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4305,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2547,
"delta": 0.0067,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.291,
"delta": -0.01,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4305,
"delta": 0.0115,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4305,
"delta": 0.0115,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.291,
"delta": -0.01,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2547,
"delta": 0.0047,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.291,
"delta": 0.006,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 1.0,
"delta": 0.409,
"percent_delta": 0.692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4305,
"delta": 0.0105,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.023,
"after": 0.0,
"delta": -1.023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.023,
"after": 0.0,
"delta": -1.023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.000 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.591 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 1.023 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | 0.013 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.892 | -0.108 |
| predicted_AVG | 0.257 | 0.007 |
| predicted_BB | 0.199 | -0.028 |
| predicted_H | 0.998 | -0.002 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.182 | 0.002 |
| predicted_OBP | 0.290 | 0.005 |
| predicted_R | 0.621 | 0.030 |
| predicted_RBI | 0.586 | 0.016 |
| predicted_SLG | 0.435 | 0.015 |
| predicted_SO | 1.023 | 0.000 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.892 | 0.000 |
| predicted_AVG | 0.255 | -0.002 |
| predicted_BB | 0.199 | 0.000 |
| predicted_H | 0.991 | -0.007 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.180 | -0.002 |
| predicted_OBP | 0.291 | 0.001 |
| predicted_R | 0.615 | -0.006 |
| predicted_RBI | 0.581 | -0.005 |
| predicted_SLG | 0.430 | -0.004 |
| predicted_SO | 1.022 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.00), rates preserved: AVG=0.248 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.161 | 0.161 |
| 3B | 0.014 | 0.014 |
| BB | 0.252 | 0.252 |
| H | 0.935 | -0.065 |
| HR | 0.152 | 0.152 |
| RBI | 0.505 | -0.495 |
| SO | 1.028 | 0.028 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.161 |
| 3B | 0.000 | -0.014 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.252 |
| H | 1.000 | 0.065 |
| HR | 0.000 | -0.152 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.505 |
| SO | 1.000 | -0.028 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.104 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.108 |
| predicted_AVG | 0.248 | -0.007 |
| predicted_BB | 0.000 | -0.199 |
| predicted_H | 1.000 | 0.009 |
| predicted_HR | 0.000 | -0.180 |
| predicted_OBP | 0.301 | 0.010 |
| predicted_R | 1.000 | 0.385 |
| predicted_RBI | 1.000 | 0.419 |
| predicted_SLG | 0.419 | -0.012 |
| predicted_SO | 1.000 | -0.022 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 5.000 | 0.000 | 5.000 | 0.3158 | 0.3158 | 0.5263 | 0.3158 | 0.0526 | 0.2105 | 0.0000 | 0.2632 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 1.000 | 0.000 | 3.000 | 8.000 | 7.000 | 0.000 | 12.000 | 0.2821 | 0.2821 | 0.5385 | 0.2821 | 0.0769 | 0.2051 | 0.0000 | 0.3077 |
| season | 0.60 | 44 | - | 160.000 | 40.000 | 4.000 | 1.000 | 7.000 | 23.000 | 26.000 | 10.000 | 45.000 | 0.2500 | 0.2948 | 0.4188 | 0.2500 | 0.0437 | 0.1437 | 0.0625 | 0.2812 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7340 |
| predicted_AVG | 0.2664 |
| predicted_BB | 0.1580 |
| predicted_H | 0.9950 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1850 |
| predicted_OBP | 0.2978 |
| predicted_R | 0.6640 |
| predicted_RBI | 0.6090 |
| predicted_SLG | 0.4558 |
| predicted_SO | 1.0240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.1230 | 0.1040 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0193 | model_form_blend |
| predicted_AB | 4.0000 | 3.7340 | 3.8918 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2664 | 0.2567 | model_form_blend |
| predicted_BB | 0.2270 | 0.1580 | 0.1989 | model_form_blend |
| predicted_H | 1.0000 | 0.9950 | 0.9980 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1800 | 0.1850 | 0.1820 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2978 | 0.2902 | model_form_blend |
| predicted_R | 0.5910 | 0.6640 | 0.6207 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6090 | 0.5859 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4558 | 0.4346 | model_form_blend |
| predicted_SO | 1.0230 | 1.0240 | 1.0234 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 141 |
| Season rows before report date | 141 |
| Report year | 2026 |
| Profile rows used | 44 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 806146 |
| playerID | 806146 |
| playerName | George Lombard Jr. |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.303 |
| sl_xwoba | 0.298 |
| sl_xba | 0.24 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 35.1 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 46.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.189 | 0.000 | 1.000 | Hitting_2B | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.930 | 5.000 | 4.000 | Hitting_AB | 3.790 | 4.000 | 1.210 | 1.000 |
| predicted_AVG | 0.216 | 0.400 | 0.250 | Hitting_AVG | 0.276 | 0.000 | 0.124 | 0.400 |
| predicted_BB | 0.439 | 0.000 | 1.000 | Hitting_BB | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 1.060 | 2.000 | 1.000 | Hitting_H | 1.046 | 0.000 | 0.954 | 2.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.266 | 0.400 | 0.400 | Hitting_OBP | 0.353 | 0.000 | 0.047 | 0.400 |
| predicted_R | 0.561 | 1.000 | 1.000 | Hitting_R | 0.599 | 0.000 | 0.401 | 1.000 |
| predicted_RBI | 0.750 | 1.000 | 1.000 | Hitting_RBI | 0.595 | 0.000 | 0.405 | 1.000 |
| predicted_SLG | 0.394 | 0.400 | 0.500 | Hitting_SLG | 0.447 | 0.000 | -0.047 | 0.400 |
| predicted_SO | 0.652 | 1.000 | 0.000 | Hitting_SO | 0.623 | 2.000 | 0.377 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0600 -> 2.0000 (boost 0.9400, better) |
| Biggest Deboost | predicted_BB: 0.4390 -> 0.0000 (deboost -0.4390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.6520 -> 0.7034 (boost 0.0514, worse) | predicted_AB: 4.9300 -> 4.4913 (deboost -0.4387, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2660 -> 0.2754 (boost 0.0094, better) | predicted_SLG: 0.3871 -> 0.3720 (deboost -0.0151, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6874 -> 1.0000 (boost 0.3126, better) | predicted_AB: 4.4913 -> 4.0000 (deboost -0.4913, worse) | AB rounded to 4 (raw=4.93), rates preserved: AVG=0.196 HR/AB=0.034 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5066 -> 1.0000 (boost 0.4934, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 4 | 1 | predicted_BB: 0.0000 -> 0.4064 (boost 0.4064, better) | predicted_RBI: 1.0000 -> 0.5690 (deboost -0.4310, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 3 | 2 | 4 | 1 | predicted_2B: 0.2015 -> 1.0000 (boost 0.7985, better) | predicted_SO: 0.7038 -> 0.0000 (deboost -0.7038, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 6 | 4 | 2 | 3 | 3 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4410 -> 0.3720 (deboost -0.0690, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.023,
"predicted_AB": 4.93,
"predicted_AVG": 0.216,
"predicted_BB": 0.439,
"predicted_H": 1.06,
"predicted_HR": 0.18,
"predicted_OBP": 0.266,
"predicted_R": 0.561,
"predicted_RBI": 0.75,
"predicted_SLG": 0.394,
"predicted_SO": 0.652
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1594,
"predicted_3B": 0.0191,
"predicted_AB": 4.4913,
"predicted_AVG": 0.2169,
"predicted_BB": 0.375,
"predicted_H": 0.9712,
"predicted_HBP": 0.002,
"predicted_HR": 0.1709,
"predicted_OBP": 0.266,
"predicted_R": 0.5114,
"predicted_RBI": 0.6939,
"predicted_SLG": 0.3871,
"predicted_SO": 0.7034
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1594,
"delta": -0.0296,
"percent_delta": -0.1566,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0191,
"delta": -0.0039,
"percent_delta": -0.1696,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.93,
"after": 4.4913,
"delta": -0.4387,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2169,
"delta": 0.0009,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.375,
"delta": -0.064,
"percent_delta": -0.1458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.9712,
"delta": -0.0888,
"percent_delta": -0.0838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1709,
"delta": -0.0091,
"percent_delta": -0.0506,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.266,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.5114,
"delta": -0.0496,
"percent_delta": -0.0884,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 0.6939,
"delta": -0.0561,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3871,
"delta": -0.0069,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.652,
"after": 0.7034,
"delta": 0.0514,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.652,
"after": 0.7034,
"delta": 0.0514,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.93,
"after": 4.4913,
"delta": -0.4387,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1594,
"predicted_3B": 0.0191,
"predicted_AB": 4.4913,
"predicted_AVG": 0.2148,
"predicted_BB": 0.3755,
"predicted_H": 0.9648,
"predicted_HBP": 0.002,
"predicted_HR": 0.1695,
"predicted_OBP": 0.2754,
"predicted_R": 0.5066,
"predicted_RBI": 0.6874,
"predicted_SLG": 0.372,
"predicted_SO": 0.7024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1594,
"after": 0.1594,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4913,
"after": 4.4913,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2169,
"after": 0.2148,
"delta": -0.0021,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 0.3755,
"delta": 0.0005,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9712,
"after": 0.9648,
"delta": -0.0064,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1709,
"after": 0.1695,
"delta": -0.0014,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2754,
"delta": 0.0094,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5114,
"after": 0.5066,
"delta": -0.0048,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6939,
"after": 0.6874,
"delta": -0.0065,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3871,
"after": 0.372,
"delta": -0.0151,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7034,
"after": 0.7024,
"delta": -0.001,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2754,
"delta": 0.0094,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3871,
"after": 0.372,
"delta": -0.0151,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.93), rates preserved: AVG=0.196 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1594,
"after": 0.0,
"delta": -0.1594,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4913,
"after": 4.0,
"delta": -0.4913,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3755,
"after": 0.0,
"delta": -0.3755,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9648,
"after": 1.0,
"delta": 0.0352,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1695,
"after": 0.0,
"delta": -0.1695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6874,
"after": 1.0,
"delta": 0.3126,
"percent_delta": 0.4548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7024,
"after": 1.0,
"delta": 0.2976,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6874,
"after": 1.0,
"delta": 0.3126,
"percent_delta": 0.4548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4913,
"after": 4.0,
"delta": -0.4913,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5066,
"after": 1.0,
"delta": 0.4934,
"percent_delta": 0.9739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5066,
"after": 1.0,
"delta": 0.4934,
"percent_delta": 0.9739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2015,
"predicted_3B": 0.0147,
"predicted_BB": 0.4064,
"predicted_H": 1.0441,
"predicted_HR": 0.1577,
"predicted_RBI": 0.569,
"predicted_SO": 0.7038
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2015,
"delta": 0.2015,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0147,
"delta": 0.0147,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4064,
"delta": 0.4064,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0441,
"delta": 0.0441,
"percent_delta": 0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1577,
"delta": 0.1577,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.569,
"delta": -0.431,
"percent_delta": -0.431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7038,
"delta": -0.2962,
"percent_delta": -0.2962,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4064,
"delta": 0.4064,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.569,
"delta": -0.431,
"percent_delta": -0.431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2015,
"after": 1.0,
"delta": 0.7985,
"percent_delta": 3.9628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0147,
"after": 0.0,
"delta": -0.0147,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4064,
"after": 1.0,
"delta": 0.5936,
"percent_delta": 1.4606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0441,
"after": 1.0,
"delta": -0.0441,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1577,
"after": 0.0,
"delta": -0.1577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7038,
"after": 0.0,
"delta": -0.7038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.2015,
"after": 1.0,
"delta": 0.7985,
"percent_delta": 3.9628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.7038,
"after": 0.0,
"delta": -0.7038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.264,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.337,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.441,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2148,
"after": 0.264,
"delta": 0.0492,
"percent_delta": 0.2291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2754,
"after": 0.337,
"delta": 0.0616,
"percent_delta": 0.2237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.441,
"delta": 0.069,
"percent_delta": 0.1855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2148,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2754,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.372,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2148,
"delta": -0.0492,
"percent_delta": -0.1863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.2754,
"delta": -0.0616,
"percent_delta": -0.1828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.372,
"delta": -0.069,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.372,
"delta": -0.069,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.93,
"after": 5.0,
"delta": 0.07,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2148,
"delta": -0.0012,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2754,
"delta": 0.0094,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.372,
"delta": -0.022,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.652,
"after": 1.0,
"delta": 0.348,
"percent_delta": 0.5337,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.930 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.439 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.561 | - |
| predicted_RBI | 0.750 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.652 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | -0.030 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.491 | -0.439 |
| predicted_AVG | 0.217 | 0.001 |
| predicted_BB | 0.375 | -0.064 |
| predicted_H | 0.971 | -0.089 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.171 | -0.009 |
| predicted_OBP | 0.266 | 0.000 |
| predicted_R | 0.511 | -0.050 |
| predicted_RBI | 0.694 | -0.056 |
| predicted_SLG | 0.387 | -0.007 |
| predicted_SO | 0.703 | 0.051 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.491 | 0.000 |
| predicted_AVG | 0.215 | -0.002 |
| predicted_BB | 0.376 | 0.001 |
| predicted_H | 0.965 | -0.006 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.170 | -0.001 |
| predicted_OBP | 0.275 | 0.009 |
| predicted_R | 0.507 | -0.005 |
| predicted_RBI | 0.687 | -0.006 |
| predicted_SLG | 0.372 | -0.015 |
| predicted_SO | 0.702 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.93), rates preserved: AVG=0.196 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.202 | 0.202 |
| 3B | 0.015 | 0.015 |
| BB | 0.406 | 0.406 |
| H | 1.044 | 0.044 |
| HR | 0.158 | 0.158 |
| RBI | 0.569 | -0.431 |
| SO | 0.704 | -0.296 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.798 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.594 |
| H | 1.000 | -0.044 |
| HR | 0.000 | -0.158 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.431 |
| SO | 0.000 | -0.704 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.159 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.491 |
| predicted_AVG | 0.264 | 0.049 |
| predicted_BB | 0.000 | -0.376 |
| predicted_H | 1.000 | 0.035 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.337 | 0.062 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 1.000 | 0.313 |
| predicted_SLG | 0.441 | 0.069 |
| predicted_SO | 1.000 | 0.298 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 5.000 | 0.1429 | 0.1429 | 0.2857 | 0.1429 | 0.0476 | 0.1905 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 41.000 | 6.000 | 0.000 | 0.000 | 2.000 | 6.000 | 3.000 | 1.000 | 9.000 | 0.1463 | 0.1667 | 0.2927 | 0.1463 | 0.0488 | 0.1463 | 0.0244 | 0.2195 |
| season | 0.60 | 132 | - | 499.000 | 132.000 | 25.000 | 3.000 | 18.000 | 77.000 | 74.000 | 58.000 | 86.000 | 0.2645 | 0.3369 | 0.4349 | 0.2645 | 0.0361 | 0.1543 | 0.1162 | 0.1723 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.9220 |
| predicted_AVG | 0.2181 |
| predicted_BB | 0.2920 |
| predicted_H | 0.8560 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1590 |
| predicted_OBP | 0.2661 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.6210 |
| predicted_SLG | 0.3782 |
| predicted_SO | 0.7700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1210 | 0.1594 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.9300 | 3.9220 | 4.4913 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2181 | 0.2169 | model_form_blend |
| predicted_BB | 0.4390 | 0.2920 | 0.3750 | model_form_blend |
| predicted_H | 1.0600 | 0.8560 | 0.9712 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1800 | 0.1590 | 0.1709 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2661 | 0.2660 | model_form_blend |
| predicted_R | 0.5610 | 0.4470 | 0.5114 | model_form_blend |
| predicted_RBI | 0.7500 | 0.6210 | 0.6939 | model_form_blend |
| predicted_SLG | 0.3940 | 0.3782 | 0.3871 | model_form_blend |
| predicted_SO | 0.6520 | 0.7700 | 0.7034 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 538 |
| Season rows before report date | 538 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 641355 |
| playerID | 641355 |
| playerName | Cody Bellinger |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.336 |
| sl_xwoba | 0.335 |
| sl_xba | 0.271 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 37.8 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.467 | 4.000 | 3.000 | Hitting_AB | 3.616 | 2.000 | 0.384 | 2.000 |
| predicted_AVG | 0.219 | 0.000 | 0.333 | Hitting_AVG | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_BB | 0.407 | 0.000 | 0.000 | Hitting_BB | 0.447 | 1.000 | -0.447 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.861 | 0.000 | -0.861 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_OBP | 0.332 | 0.000 | 0.333 | Hitting_OBP | 0.321 | 0.333 | -0.321 | -0.333 |
| predicted_R | 0.511 | 0.000 | 1.000 | Hitting_R | 0.561 | 0.000 | -0.561 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.319 | 1.000 | -0.319 | -1.000 |
| predicted_SLG | 0.353 | 0.000 | 0.333 | Hitting_SLG | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_SO | 1.156 | 2.000 | 1.000 | Hitting_SO | 1.179 | 1.000 | 0.821 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.1560 -> 2.0000 (boost 0.8440, worse) |
| Biggest Deboost | predicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.7000 -> 0.7682 (boost 0.0682, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3408 -> 0.3147 (deboost -0.0261, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7631 -> 1.0000 (boost 0.2369, better) | predicted_BB: 0.4580 -> 0.0000 (deboost -0.4580, worse) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.220 HR/AB=0.029 |
| 6 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5226 -> 1.0000 (boost 0.4774, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.0000 -> 0.3779 (boost 0.3779, better) | predicted_BB: 1.0000 -> 0.3491 (deboost -0.6509, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.7845 -> 1.0000 (boost 0.2155, better) | predicted_RBI: 0.3779 -> 0.0000 (deboost -0.3779, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4170 -> 0.3488 (deboost -0.0682, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"position": "2B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.022,
"predicted_AB": 3.467,
"predicted_AVG": 0.219,
"predicted_BB": 0.407,
"predicted_H": 0.7,
"predicted_HR": 0.1,
"predicted_OBP": 0.332,
"predicted_R": 0.511,
"predicted_RBI": 0.29,
"predicted_SLG": 0.353,
"predicted_SO": 1.156
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0932,
"predicted_3B": 0.0181,
"predicted_AB": 3.4227,
"predicted_AVG": 0.2345,
"predicted_BB": 0.4574,
"predicted_H": 0.7682,
"predicted_HBP": 0.006,
"predicted_HR": 0.1013,
"predicted_OBP": 0.3408,
"predicted_R": 0.5275,
"predicted_RBI": 0.28,
"predicted_SLG": 0.3626,
"predicted_SO": 1.1156
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0932,
"delta": -0.0178,
"percent_delta": -0.1604,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0181,
"delta": -0.0039,
"percent_delta": -0.1773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.467,
"after": 3.4227,
"delta": -0.0443,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2345,
"delta": 0.0155,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.407,
"after": 0.4574,
"delta": 0.0504,
"percent_delta": 0.1238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7682,
"delta": 0.0682,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1013,
"delta": 0.0013,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3408,
"delta": 0.0088,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.511,
"after": 0.5275,
"delta": 0.0165,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.28,
"delta": -0.01,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3626,
"delta": 0.0096,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.156,
"after": 1.1156,
"delta": -0.0404,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.7682,
"delta": 0.0682,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 135
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0932,
"predicted_3B": 0.0181,
"predicted_AB": 3.4227,
"predicted_AVG": 0.223,
"predicted_BB": 0.458,
"predicted_H": 0.7631,
"predicted_HBP": 0.006,
"predicted_HR": 0.1005,
"predicted_OBP": 0.3147,
"predicted_R": 0.5226,
"predicted_RBI": 0.2774,
"predicted_SLG": 0.3488,
"predicted_SO": 1.114
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0932,
"after": 0.0932,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0181,
"after": 0.0181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4227,
"after": 3.4227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2345,
"after": 0.223,
"delta": -0.0115,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4574,
"after": 0.458,
"delta": 0.0006,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7682,
"after": 0.7631,
"delta": -0.0051,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1013,
"after": 0.1005,
"delta": -0.0008,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3408,
"after": 0.3147,
"delta": -0.0261,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5275,
"after": 0.5226,
"delta": -0.0049,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2774,
"delta": -0.0026,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3626,
"after": 0.3488,
"delta": -0.0138,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1156,
"after": 1.114,
"delta": -0.0016,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3408,
"after": 0.3147,
"delta": -0.0261,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.220 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0932,
"after": 0.0,
"delta": -0.0932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0181,
"after": 0.0,
"delta": -0.0181,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4227,
"after": 3.0,
"delta": -0.4227,
"percent_delta": -0.1235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.458,
"after": 0.0,
"delta": -0.458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7631,
"after": 1.0,
"delta": 0.2369,
"percent_delta": 0.3104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1005,
"after": 0.0,
"delta": -0.1005,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2774,
"after": 0.0,
"delta": -0.2774,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.114,
"after": 1.0,
"delta": -0.114,
"percent_delta": -0.1023,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7631,
"after": 1.0,
"delta": 0.2369,
"percent_delta": 0.3104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.458,
"after": 0.0,
"delta": -0.458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5226,
"after": 1.0,
"delta": 0.4774,
"percent_delta": 0.9135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5226,
"after": 1.0,
"delta": 0.4774,
"percent_delta": 0.9135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1541,
"predicted_3B": 0.0129,
"predicted_BB": 0.3491,
"predicted_H": 0.7845,
"predicted_HR": 0.1468,
"predicted_RBI": 0.3779,
"predicted_SO": 1.0388
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1541,
"delta": 0.1541,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0129,
"delta": 0.0129,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.3491,
"delta": -0.6509,
"percent_delta": -0.6509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7845,
"delta": -0.2155,
"percent_delta": -0.2155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1468,
"delta": 0.1468,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3779,
"delta": 0.3779,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0388,
"delta": 0.0388,
"percent_delta": 0.0388,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3779,
"delta": 0.3779,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.3491,
"delta": -0.6509,
"percent_delta": -0.6509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1541,
"after": 0.0,
"delta": -0.1541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3491,
"after": 0.0,
"delta": -0.3491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7845,
"after": 1.0,
"delta": 0.2155,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1468,
"after": 0.0,
"delta": -0.1468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3779,
"after": 0.0,
"delta": -0.3779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0388,
"after": 1.0,
"delta": -0.0388,
"percent_delta": -0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7845,
"after": 1.0,
"delta": 0.2155,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3779,
"after": 0.0,
"delta": -0.3779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.233,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.417,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.233,
"delta": 0.01,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.31,
"delta": -0.0047,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3488,
"after": 0.417,
"delta": 0.0682,
"percent_delta": 0.1955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.223,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3147,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3488,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.223,
"delta": -0.01,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3147,
"delta": 0.0047,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3488,
"delta": -0.0682,
"percent_delta": -0.1635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3488,
"delta": -0.0682,
"percent_delta": -0.1635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.467,
"after": 4.0,
"delta": 0.533,
"percent_delta": 0.1537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.223,
"delta": 0.004,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3147,
"delta": -0.0173,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.511,
"after": 0.0,
"delta": -0.511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3488,
"delta": -0.0042,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.156,
"after": 2.0,
"delta": 0.844,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.156,
"after": 2.0,
"delta": 0.844,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.467 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.407 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.511 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 1.156 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | -0.018 |
| predicted_3B | 0.018 | -0.004 |
| predicted_AB | 3.423 | -0.044 |
| predicted_AVG | 0.234 | 0.015 |
| predicted_BB | 0.457 | 0.050 |
| predicted_H | 0.768 | 0.068 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.101 | 0.001 |
| predicted_OBP | 0.341 | 0.009 |
| predicted_R | 0.527 | 0.016 |
| predicted_RBI | 0.280 | -0.010 |
| predicted_SLG | 0.363 | 0.010 |
| predicted_SO | 1.116 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.423 | 0.000 |
| predicted_AVG | 0.223 | -0.011 |
| predicted_BB | 0.458 | 0.001 |
| predicted_H | 0.763 | -0.005 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.101 | -0.001 |
| predicted_OBP | 0.315 | -0.026 |
| predicted_R | 0.523 | -0.005 |
| predicted_RBI | 0.277 | -0.003 |
| predicted_SLG | 0.349 | -0.014 |
| predicted_SO | 1.114 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.220 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.154 | 0.154 |
| 3B | 0.013 | 0.013 |
| BB | 0.349 | -0.651 |
| H | 0.784 | -0.216 |
| HR | 0.147 | 0.147 |
| RBI | 0.378 | 0.378 |
| SO | 1.039 | 0.039 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.154 |
| 3B | 0.000 | -0.013 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.349 |
| H | 1.000 | 0.216 |
| HR | 0.000 | -0.147 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.378 |
| SO | 1.000 | -0.039 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.093 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | -0.423 |
| predicted_AVG | 0.233 | 0.010 |
| predicted_BB | 1.000 | 0.542 |
| predicted_H | 1.000 | 0.237 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.310 | -0.005 |
| predicted_R | 1.000 | 0.477 |
| predicted_RBI | 0.000 | -0.277 |
| predicted_SLG | 0.417 | 0.068 |
| predicted_SO | 1.000 | -0.114 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 5.000 | 0.2667 | 0.4211 | 0.2667 | 0.2667 | 0.0000 | 0.0000 | 0.2667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 0.000 | 0.000 | 1.000 | 1.000 | 6.000 | 6.000 | 9.000 | 0.3030 | 0.4103 | 0.3939 | 0.3030 | 0.0303 | 0.0303 | 0.1818 | 0.2727 |
| season | 0.60 | 135 | - | 468.000 | 110.000 | 15.000 | 3.000 | 19.000 | 55.000 | 69.000 | 55.000 | 156.000 | 0.2350 | 0.3144 | 0.4017 | 0.2350 | 0.0406 | 0.1175 | 0.1175 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0700 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.3650 |
| predicted_AVG | 0.2546 |
| predicted_BB | 0.5230 |
| predicted_H | 0.8570 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3523 |
| predicted_R | 0.5490 |
| predicted_RBI | 0.2670 |
| predicted_SLG | 0.3750 |
| predicted_SO | 1.0630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0700 | 0.0932 | model_form_blend |
| predicted_3B | 0.0220 | 0.0130 | 0.0181 | model_form_blend |
| predicted_AB | 3.4670 | 3.3650 | 3.4227 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2546 | 0.2345 | model_form_blend |
| predicted_BB | 0.4070 | 0.5230 | 0.4574 | model_form_blend |
| predicted_H | 0.7000 | 0.8570 | 0.7682 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1000 | 0.1030 | 0.1013 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3523 | 0.3408 | model_form_blend |
| predicted_R | 0.5110 | 0.5490 | 0.5275 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2670 | 0.2800 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3750 | 0.3626 | model_form_blend |
| predicted_SO | 1.1560 | 1.0630 | 1.1156 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 526 |
| Season rows before report date | 526 |
| Report year | 2026 |
| Profile rows used | 135 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 665862 |
| playerID | 665862 |
| playerName | Jazz Chisholm Jr. |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.312 |
| sl_xwoba | 0.294 |
| sl_xba | 0.216 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 42.8 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 45.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.162 | 0.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.100 | 3.000 | 3.000 | Hitting_AB | 3.758 | 3.000 | -0.758 | 0.000 |
| predicted_AVG | 0.207 | 0.000 | 0.333 | Hitting_AVG | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_BB | 0.496 | 1.000 | 1.000 | Hitting_BB | 0.542 | 0.000 | 0.458 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 0.786 | 0.000 | -0.786 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.157 | 0.000 | -0.157 | 0.000 |
| predicted_OBP | 0.312 | 0.250 | 0.500 | Hitting_OBP | 0.306 | 0.000 | -0.056 | 0.250 |
| predicted_R | 0.564 | 0.000 | 0.000 | Hitting_R | 0.599 | 0.000 | -0.599 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.530 | 0.000 | -0.530 | 0.000 |
| predicted_SLG | 0.351 | 0.000 | 0.333 | Hitting_SLG | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_SO | 0.769 | 1.000 | 1.000 | Hitting_SO | 0.788 | 2.000 | 0.212 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.4960 -> 1.0000 (boost 0.5040, better) |
| Biggest Deboost | predicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.1000 -> 3.7699 (deboost -0.3301, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3048 -> 0.2935 (deboost -0.0113, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7838 -> 1.0000 (boost 0.2162, better) | predicted_AB: 3.7699 -> 3.0000 (deboost -0.7699, worse) | AB rounded to 3 (raw=4.10), rates preserved: AVG=0.191 HR/AB=0.025 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4932 -> 0.0000 (deboost -0.4932, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4161 (boost 0.4161, better) | predicted_SO: 1.0000 -> 0.7216 (deboost -0.2784, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 3 | 3 | 2 | 4 | predicted_BB: 0.3999 -> 1.0000 (boost 0.6001, better) | predicted_RBI: 0.4161 -> 0.0000 (deboost -0.4161, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.3330 -> 0.3980 (boost 0.0650, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3980 -> 0.3330 (deboost -0.0650, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.017,
"predicted_AB": 4.1,
"predicted_AVG": 0.207,
"predicted_BB": 0.496,
"predicted_H": 0.85,
"predicted_HR": 0.12,
"predicted_OBP": 0.312,
"predicted_R": 0.564,
"predicted_RBI": 0.5,
"predicted_SLG": 0.351,
"predicted_SO": 0.769
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.014,
"predicted_AB": 3.7699,
"predicted_AVG": 0.2093,
"predicted_BB": 0.4558,
"predicted_H": 0.789,
"predicted_HBP": 0.002,
"predicted_HR": 0.1044,
"predicted_OBP": 0.3048,
"predicted_R": 0.4978,
"predicted_RBI": 0.4736,
"predicted_SLG": 0.3387,
"predicted_SO": 0.7976
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.133,
"delta": -0.029,
"percent_delta": -0.179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.014,
"delta": -0.003,
"percent_delta": -0.1765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.7699,
"delta": -0.3301,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2093,
"delta": 0.0023,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.496,
"after": 0.4558,
"delta": -0.0402,
"percent_delta": -0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.789,
"delta": -0.061,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1044,
"delta": -0.0156,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3048,
"delta": -0.0072,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.564,
"after": 0.4978,
"delta": -0.0662,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4736,
"delta": -0.0264,
"percent_delta": -0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3387,
"delta": -0.0123,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.769,
"after": 0.7976,
"delta": 0.0286,
"percent_delta": 0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.7699,
"delta": -0.3301,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 117
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.014,
"predicted_AB": 3.7699,
"predicted_AVG": 0.2079,
"predicted_BB": 0.4564,
"predicted_H": 0.7838,
"predicted_HBP": 0.002,
"predicted_HR": 0.1035,
"predicted_OBP": 0.2935,
"predicted_R": 0.4932,
"predicted_RBI": 0.4692,
"predicted_SLG": 0.333,
"predicted_SO": 0.7965
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7699,
"after": 3.7699,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2093,
"after": 0.2079,
"delta": -0.0014,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4558,
"after": 0.4564,
"delta": 0.0006,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.789,
"after": 0.7838,
"delta": -0.0052,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1044,
"after": 0.1035,
"delta": -0.0009,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3048,
"after": 0.2935,
"delta": -0.0113,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4978,
"after": 0.4932,
"delta": -0.0046,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4736,
"after": 0.4692,
"delta": -0.0044,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3387,
"after": 0.333,
"delta": -0.0057,
"percent_delta": -0.0168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7976,
"after": 0.7965,
"delta": -0.0011,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3048,
"after": 0.2935,
"delta": -0.0113,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=4.10), rates preserved: AVG=0.191 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7699,
"after": 3.0,
"delta": -0.7699,
"percent_delta": -0.2042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4564,
"after": 0.0,
"delta": -0.4564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7838,
"after": 1.0,
"delta": 0.2162,
"percent_delta": 0.2758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1035,
"after": 0.0,
"delta": -0.1035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4692,
"after": 0.0,
"delta": -0.4692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7965,
"after": 1.0,
"delta": 0.2035,
"percent_delta": 0.2555,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7838,
"after": 1.0,
"delta": 0.2162,
"percent_delta": 0.2758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.7699,
"after": 3.0,
"delta": -0.7699,
"percent_delta": -0.2042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4932,
"after": 0.0,
"delta": -0.4932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4932,
"after": 0.0,
"delta": -0.4932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1788,
"predicted_3B": 0.0117,
"predicted_BB": 0.3999,
"predicted_H": 0.7603,
"predicted_HR": 0.1304,
"predicted_RBI": 0.4161,
"predicted_SO": 0.7216
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1788,
"delta": 0.1788,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0117,
"delta": 0.0117,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3999,
"delta": 0.3999,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7603,
"delta": -0.2397,
"percent_delta": -0.2397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1304,
"delta": 0.1304,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4161,
"delta": 0.4161,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7216,
"delta": -0.2784,
"percent_delta": -0.2784,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4161,
"delta": 0.4161,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7216,
"delta": -0.2784,
"percent_delta": -0.2784,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1788,
"after": 0.0,
"delta": -0.1788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0117,
"after": 0.0,
"delta": -0.0117,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3999,
"after": 1.0,
"delta": 0.6001,
"percent_delta": 1.5006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7603,
"after": 1.0,
"delta": 0.2397,
"percent_delta": 0.3153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1304,
"after": 0.0,
"delta": -0.1304,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4161,
"after": 0.0,
"delta": -0.4161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7216,
"after": 1.0,
"delta": 0.2784,
"percent_delta": 0.3858,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3999,
"after": 1.0,
"delta": 0.6001,
"percent_delta": 1.5006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4161,
"after": 0.0,
"delta": -0.4161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.223,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.398,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2079,
"after": 0.223,
"delta": 0.0151,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2935,
"after": 0.31,
"delta": 0.0165,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.398,
"delta": 0.065,
"percent_delta": 0.1952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.398,
"delta": 0.065,
"percent_delta": 0.1952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2079,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2935,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2079,
"delta": -0.0151,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2935,
"delta": -0.0165,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.333,
"delta": -0.065,
"percent_delta": -0.1633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.333,
"delta": -0.065,
"percent_delta": -0.1633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2079,
"delta": 0.0009,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.496,
"after": 1.0,
"delta": 0.504,
"percent_delta": 1.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.2935,
"delta": -0.0185,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.564,
"after": 0.0,
"delta": -0.564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.333,
"delta": -0.018,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.769,
"after": 1.0,
"delta": 0.231,
"percent_delta": 0.3004,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.496,
"after": 1.0,
"delta": 0.504,
"percent_delta": 1.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.496 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.564 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 0.769 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | -0.029 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.770 | -0.330 |
| predicted_AVG | 0.209 | 0.002 |
| predicted_BB | 0.456 | -0.040 |
| predicted_H | 0.789 | -0.061 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.104 | -0.016 |
| predicted_OBP | 0.305 | -0.007 |
| predicted_R | 0.498 | -0.066 |
| predicted_RBI | 0.474 | -0.026 |
| predicted_SLG | 0.339 | -0.012 |
| predicted_SO | 0.798 | 0.029 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.770 | 0.000 |
| predicted_AVG | 0.208 | -0.001 |
| predicted_BB | 0.456 | 0.001 |
| predicted_H | 0.784 | -0.005 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.103 | -0.001 |
| predicted_OBP | 0.293 | -0.011 |
| predicted_R | 0.493 | -0.005 |
| predicted_RBI | 0.469 | -0.004 |
| predicted_SLG | 0.333 | -0.006 |
| predicted_SO | 0.796 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=4.10), rates preserved: AVG=0.191 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.179 | 0.179 |
| 3B | 0.012 | 0.012 |
| BB | 0.400 | 0.400 |
| H | 0.760 | -0.240 |
| HR | 0.130 | 0.130 |
| RBI | 0.416 | 0.416 |
| SO | 0.722 | -0.278 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.179 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.600 |
| H | 1.000 | 0.240 |
| HR | 0.000 | -0.130 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.416 |
| SO | 1.000 | 0.278 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.133 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | -0.770 |
| predicted_AVG | 0.223 | 0.015 |
| predicted_BB | 0.000 | -0.456 |
| predicted_H | 1.000 | 0.216 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.310 | 0.017 |
| predicted_R | 0.000 | -0.493 |
| predicted_RBI | 0.000 | -0.469 |
| predicted_SLG | 0.398 | 0.065 |
| predicted_SO | 1.000 | 0.204 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 4.000 | 0.2857 | 0.3333 | 0.2857 | 0.2857 | 0.0000 | 0.1429 | 0.0714 | 0.2857 |
| last_10 | 0.20 | 10 | - | 31.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 10.000 | 0.1290 | 0.2222 | 0.1290 | 0.1290 | 0.0000 | 0.0968 | 0.1290 | 0.3226 |
| season | 0.60 | 117 | - | 415.000 | 88.000 | 19.000 | 2.000 | 17.000 | 58.000 | 66.000 | 58.000 | 90.000 | 0.2120 | 0.3061 | 0.3904 | 0.2120 | 0.0410 | 0.1398 | 0.1398 | 0.2169 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.3370 |
| predicted_AVG | 0.2124 |
| predicted_BB | 0.4030 |
| predicted_H | 0.7090 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.2954 |
| predicted_R | 0.4110 |
| predicted_RBI | 0.4390 |
| predicted_SLG | 0.3225 |
| predicted_SO | 0.8350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.0950 | 0.1330 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 4.1000 | 3.3370 | 3.7699 | model_form_blend |
| predicted_AVG | 0.2070 | 0.2124 | 0.2093 | model_form_blend |
| predicted_BB | 0.4960 | 0.4030 | 0.4558 | model_form_blend |
| predicted_H | 0.8500 | 0.7090 | 0.7890 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1200 | 0.0840 | 0.1044 | model_form_blend |
| predicted_OBP | 0.3120 | 0.2954 | 0.3048 | model_form_blend |
| predicted_R | 0.5640 | 0.4110 | 0.4978 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4390 | 0.4736 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3225 | 0.3387 | model_form_blend |
| predicted_SO | 0.7690 | 0.8350 | 0.7976 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 491 |
| Season rows before report date | 491 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 663757 |
| playerID | 663757 |
| playerName | Trent Grisham |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.311 |
| sl_xwoba | 0.337 |
| sl_xba | 0.245 |
| sl_xslg | 0.429 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 39.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.066 | 0.000 | 0.000 | Hitting_2B | 0.066 | 1.000 | -0.066 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.803 | 4.000 | 3.000 | Hitting_AB | 3.011 | 3.000 | 0.989 | 1.000 |
| predicted_AVG | 0.230 | 0.250 | 0.000 | Hitting_AVG | 0.193 | 0.333 | 0.057 | -0.083 |
| predicted_BB | 0.385 | 0.000 | 0.000 | Hitting_BB | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.620 | 1.000 | 0.000 | Hitting_H | 0.581 | 1.000 | 0.419 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.343 | 0.250 | 0.000 | Hitting_OBP | 0.299 | 0.333 | -0.049 | -0.083 |
| predicted_R | 0.336 | 0.000 | 0.000 | Hitting_R | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_SLG | 0.421 | 0.250 | 0.000 | Hitting_SLG | 0.342 | 0.667 | -0.092 | -0.417 |
| predicted_SO | 0.844 | 1.000 | 1.000 | Hitting_SO | 0.910 | 1.000 | 0.090 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.8030 -> 4.0000 (boost 1.1970, better) |
| Biggest Deboost | predicted_RBI: 0.4700 -> 0.0000 (deboost -0.4700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 4 | 0 | predicted_R: 0.3360 -> 0.4206 (boost 0.0846, better) | predicted_SO: 0.8440 -> 0.7796 (deboost -0.0644, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4382 -> 0.4082 (deboost -0.0300, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.4822 -> 1.0000 (boost 0.5178, better) | predicted_BB: 0.4298 -> 0.0000 (deboost -0.4298, worse) | AB rounded to 3 (raw=2.80), rates preserved: AVG=0.236 HR/AB=0.047 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4167 -> 0.0000 (deboost -0.4167, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3340 (boost 0.3340, better) | predicted_RBI: 1.0000 -> 0.3127 (deboost -0.6873, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.7898 -> 1.0000 (boost 0.2102, worse) | predicted_H: 0.6476 -> 0.0000 (deboost -0.6476, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 5 | 2 | 3 | 2 | 3 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_OBP: 0.3382 -> 0.3060 (deboost -0.0322, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3060 -> 0.3382 (boost 0.0322, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669224",
"player_name": "Austin Wells",
"position": "C",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.066,
"predicted_3B": 0.0,
"predicted_AB": 2.803,
"predicted_AVG": 0.23,
"predicted_BB": 0.385,
"predicted_H": 0.62,
"predicted_HR": 0.12,
"predicted_OBP": 0.343,
"predicted_R": 0.336,
"predicted_RBI": 0.47,
"predicted_SLG": 0.421,
"predicted_SO": 0.844
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0832,
"predicted_3B": 0.0004,
"predicted_AB": 2.8009,
"predicted_AVG": 0.2433,
"predicted_BB": 0.4292,
"predicted_H": 0.6672,
"predicted_HBP": 0.015,
"predicted_HR": 0.1333,
"predicted_OBP": 0.3471,
"predicted_R": 0.4206,
"predicted_RBI": 0.4867,
"predicted_SLG": 0.4382,
"predicted_SO": 0.7796
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.066,
"after": 0.0832,
"delta": 0.0172,
"percent_delta": 0.2606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.803,
"after": 2.8009,
"delta": -0.0021,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2433,
"delta": 0.0133,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.4292,
"delta": 0.0442,
"percent_delta": 0.1148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6672,
"delta": 0.0472,
"percent_delta": 0.0761,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1333,
"delta": 0.0133,
"percent_delta": 0.1108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3471,
"delta": 0.0041,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.336,
"after": 0.4206,
"delta": 0.0846,
"percent_delta": 0.2518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4867,
"delta": 0.0167,
"percent_delta": 0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4382,
"delta": 0.0172,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.844,
"after": 0.7796,
"delta": -0.0644,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.336,
"after": 0.4206,
"delta": 0.0846,
"percent_delta": 0.2518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.844,
"after": 0.7796,
"delta": -0.0644,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 122
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0832,
"predicted_3B": 0.0004,
"predicted_AB": 2.8009,
"predicted_AVG": 0.2366,
"predicted_BB": 0.4298,
"predicted_H": 0.6628,
"predicted_HBP": 0.015,
"predicted_HR": 0.1322,
"predicted_OBP": 0.3382,
"predicted_R": 0.4167,
"predicted_RBI": 0.4822,
"predicted_SLG": 0.4082,
"predicted_SO": 0.7785
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0832,
"after": 0.0832,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8009,
"after": 2.8009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2433,
"after": 0.2366,
"delta": -0.0067,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4292,
"after": 0.4298,
"delta": 0.0006,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6672,
"after": 0.6628,
"delta": -0.0044,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1333,
"after": 0.1322,
"delta": -0.0011,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3471,
"after": 0.3382,
"delta": -0.0089,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4206,
"after": 0.4167,
"delta": -0.0039,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4867,
"after": 0.4822,
"delta": -0.0045,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4382,
"after": 0.4082,
"delta": -0.03,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7796,
"after": 0.7785,
"delta": -0.0011,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4382,
"after": 0.4082,
"delta": -0.03,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.236 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0832,
"after": 0.0,
"delta": -0.0832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8009,
"after": 3.0,
"delta": 0.1991,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4298,
"after": 0.0,
"delta": -0.4298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6628,
"after": 1.0,
"delta": 0.3372,
"percent_delta": 0.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1322,
"after": 0.0,
"delta": -0.1322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4822,
"after": 1.0,
"delta": 0.5178,
"percent_delta": 1.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7785,
"after": 1.0,
"delta": 0.2215,
"percent_delta": 0.2845,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4822,
"after": 1.0,
"delta": 0.5178,
"percent_delta": 1.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4298,
"after": 0.0,
"delta": -0.4298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4167,
"after": 0.0,
"delta": -0.4167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4167,
"after": 0.0,
"delta": -0.4167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1208,
"predicted_3B": 0.0071,
"predicted_BB": 0.334,
"predicted_H": 0.6476,
"predicted_HR": 0.1165,
"predicted_RBI": 0.3127,
"predicted_SO": 0.7898
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1208,
"delta": 0.1208,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0071,
"delta": 0.0071,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.334,
"delta": 0.334,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6476,
"delta": -0.3524,
"percent_delta": -0.3524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1165,
"delta": 0.1165,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.3127,
"delta": -0.6873,
"percent_delta": -0.6873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7898,
"delta": -0.2102,
"percent_delta": -0.2102,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.334,
"delta": 0.334,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.3127,
"delta": -0.6873,
"percent_delta": -0.6873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1208,
"after": 0.0,
"delta": -0.1208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0,
"delta": -0.0071,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.334,
"after": 0.0,
"delta": -0.334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6476,
"after": 0.0,
"delta": -0.6476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1165,
"after": 0.0,
"delta": -0.1165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3127,
"after": 0.0,
"delta": -0.3127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7898,
"after": 1.0,
"delta": 0.2102,
"percent_delta": 0.2661,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7898,
"after": 1.0,
"delta": 0.2102,
"percent_delta": 0.2661,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6476,
"after": 0.0,
"delta": -0.6476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.306,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.386,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2366,
"after": 0.221,
"delta": -0.0156,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.306,
"delta": -0.0322,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4082,
"after": 0.386,
"delta": -0.0222,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.306,
"delta": -0.0322,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2366,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3382,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4082,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2366,
"delta": 0.0156,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3382,
"delta": 0.0322,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.4082,
"delta": 0.0222,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3382,
"delta": 0.0322,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.803,
"after": 4.0,
"delta": 1.197,
"percent_delta": 0.427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2366,
"delta": 0.0066,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3382,
"delta": -0.0048,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.336,
"after": 0.0,
"delta": -0.336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4082,
"delta": -0.0128,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.844,
"after": 1.0,
"delta": 0.156,
"percent_delta": 0.1848,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.803,
"after": 4.0,
"delta": 1.197,
"percent_delta": 0.427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.066 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.803 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.385 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.336 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 0.844 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | 0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.801 | -0.002 |
| predicted_AVG | 0.243 | 0.013 |
| predicted_BB | 0.429 | 0.044 |
| predicted_H | 0.667 | 0.047 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.133 | 0.013 |
| predicted_OBP | 0.347 | 0.004 |
| predicted_R | 0.421 | 0.085 |
| predicted_RBI | 0.487 | 0.017 |
| predicted_SLG | 0.438 | 0.017 |
| predicted_SO | 0.780 | -0.064 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.801 | 0.000 |
| predicted_AVG | 0.237 | -0.007 |
| predicted_BB | 0.430 | 0.001 |
| predicted_H | 0.663 | -0.004 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.132 | -0.001 |
| predicted_OBP | 0.338 | -0.009 |
| predicted_R | 0.417 | -0.004 |
| predicted_RBI | 0.482 | -0.005 |
| predicted_SLG | 0.408 | -0.030 |
| predicted_SO | 0.778 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.80), rates preserved: AVG=0.236 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.121 | 0.121 |
| 3B | 0.007 | 0.007 |
| BB | 0.334 | 0.334 |
| H | 0.648 | -0.352 |
| HR | 0.117 | 0.117 |
| RBI | 0.313 | -0.687 |
| SO | 0.790 | -0.210 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.121 |
| 3B | 0.000 | -0.007 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.334 |
| H | 0.000 | -0.648 |
| HR | 0.000 | -0.117 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.313 |
| SO | 1.000 | 0.210 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.083 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.199 |
| predicted_AVG | 0.221 | -0.016 |
| predicted_BB | 0.000 | -0.430 |
| predicted_H | 1.000 | 0.337 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.306 | -0.032 |
| predicted_R | 0.000 | -0.417 |
| predicted_RBI | 1.000 | 0.518 |
| predicted_SLG | 0.386 | -0.022 |
| predicted_SO | 1.000 | 0.222 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 5.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 3.000 | 2.000 | 0.3846 | 0.4444 | 0.6923 | 0.3846 | 0.0769 | 0.3846 | 0.2308 | 0.1538 |
| last_10 | 0.20 | 10 | - | 26.000 | 9.000 | 1.000 | 0.000 | 2.000 | 6.000 | 6.000 | 7.000 | 5.000 | 0.3462 | 0.4571 | 0.6154 | 0.3462 | 0.0769 | 0.2308 | 0.2692 | 0.1923 |
| season | 0.60 | 122 | - | 342.000 | 66.000 | 8.000 | 0.000 | 14.000 | 36.000 | 41.000 | 47.000 | 103.000 | 0.1930 | 0.2929 | 0.3392 | 0.1930 | 0.0409 | 0.1053 | 0.1374 | 0.3012 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.7980 |
| predicted_AVG | 0.2610 |
| predicted_BB | 0.4880 |
| predicted_H | 0.7300 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.3525 |
| predicted_R | 0.5330 |
| predicted_RBI | 0.5090 |
| predicted_SLG | 0.4610 |
| predicted_SO | 0.6940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0660 | 0.1060 | 0.0832 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8030 | 2.7980 | 2.8009 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2610 | 0.2433 | model_form_blend |
| predicted_BB | 0.3850 | 0.4880 | 0.4292 | model_form_blend |
| predicted_H | 0.6200 | 0.7300 | 0.6672 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1200 | 0.1510 | 0.1333 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3525 | 0.3471 | model_form_blend |
| predicted_R | 0.3360 | 0.5330 | 0.4206 | model_form_blend |
| predicted_RBI | 0.4700 | 0.5090 | 0.4867 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4610 | 0.4382 | model_form_blend |
| predicted_SO | 0.8440 | 0.6940 | 0.7796 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 377 |
| Season rows before report date | 377 |
| Report year | 2026 |
| Profile rows used | 122 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 669224 |
| playerID | 669224 |
| playerName | Austin Wells |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.281 |
| sl_xwoba | 0.302 |
| sl_xba | 0.211 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.868 | 2.000 | 3.000 | Hitting_AB | 3.132 | 2.000 | -1.132 | 0.000 |
| predicted_AVG | 0.219 | 0.000 | 0.333 | Hitting_AVG | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_BB | 0.246 | 2.000 | 0.000 | Hitting_BB | 0.286 | 0.000 | 1.714 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.500 | 0.000 | 1.000 | Hitting_H | 0.668 | 0.000 | -0.668 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_OBP | 0.282 | 0.500 | 0.333 | Hitting_OBP | 0.281 | 0.000 | 0.219 | 0.500 |
| predicted_R | 0.272 | 0.000 | 0.000 | Hitting_R | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SLG | 0.388 | 0.000 | 0.333 | Hitting_SLG | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_SO | 0.930 | 0.000 | 1.000 | Hitting_SO | 0.995 | 0.000 | -0.995 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.2460 -> 2.0000 (boost 1.7540, better) |
| Biggest Deboost | predicted_SO: 0.9300 -> 0.0000 (deboost -0.9300, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.5000 -> 0.5893 (boost 0.0893, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3984 -> 0.3451 (deboost -0.0533, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5513 -> 1.0000 (boost 0.4487, better) | predicted_BB: 0.2399 -> 0.0000 (deboost -0.2399, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.203 HR/AB=0.033 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.071) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3050 -> 0.0000 (deboost -0.3050, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.2517 (boost 0.2517, better) | predicted_RBI: 1.0000 -> 0.3500 (deboost -0.6500, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6736 -> 1.0000 (boost 0.3264, better) | predicted_RBI: 0.3500 -> 0.0000 (deboost -0.3500, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3690 -> 0.3451 (deboost -0.0239, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641857",
"player_name": "Ryan McMahon",
"position": "3B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.0,
"predicted_AB": 2.868,
"predicted_AVG": 0.219,
"predicted_BB": 0.246,
"predicted_H": 0.5,
"predicted_HR": 0.08,
"predicted_OBP": 0.282,
"predicted_R": 0.272,
"predicted_RBI": 0.48,
"predicted_SLG": 0.388,
"predicted_SO": 0.93
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1217,
"predicted_3B": 0.0004,
"predicted_AB": 2.8881,
"predicted_AVG": 0.2293,
"predicted_BB": 0.2396,
"predicted_H": 0.5893,
"predicted_HBP": 0.007,
"predicted_HR": 0.0971,
"predicted_OBP": 0.2898,
"predicted_R": 0.3079,
"predicted_RBI": 0.5565,
"predicted_SLG": 0.3984,
"predicted_SO": 0.9253
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1217,
"delta": 0.0077,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.868,
"after": 2.8881,
"delta": 0.0201,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2293,
"delta": 0.0103,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.246,
"after": 0.2396,
"delta": -0.0064,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.5893,
"delta": 0.0893,
"percent_delta": 0.1786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0971,
"delta": 0.0171,
"percent_delta": 0.2138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2898,
"delta": 0.0078,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.272,
"after": 0.3079,
"delta": 0.0359,
"percent_delta": 0.132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.5565,
"delta": 0.0765,
"percent_delta": 0.1594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3984,
"delta": 0.0104,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.93,
"after": 0.9253,
"delta": -0.0047,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5,
"after": 0.5893,
"delta": 0.0893,
"percent_delta": 0.1786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 114
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1217,
"predicted_3B": 0.0004,
"predicted_AB": 2.8881,
"predicted_AVG": 0.2027,
"predicted_BB": 0.2399,
"predicted_H": 0.5854,
"predicted_HBP": 0.007,
"predicted_HR": 0.0963,
"predicted_OBP": 0.2639,
"predicted_R": 0.305,
"predicted_RBI": 0.5513,
"predicted_SLG": 0.3451,
"predicted_SO": 0.924
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1217,
"after": 0.1217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8881,
"after": 2.8881,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2293,
"after": 0.2027,
"delta": -0.0266,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2396,
"after": 0.2399,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5893,
"after": 0.5854,
"delta": -0.0039,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0971,
"after": 0.0963,
"delta": -0.0008,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2898,
"after": 0.2639,
"delta": -0.0259,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3079,
"after": 0.305,
"delta": -0.0029,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5565,
"after": 0.5513,
"delta": -0.0052,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3984,
"after": 0.3451,
"delta": -0.0533,
"percent_delta": -0.1338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9253,
"after": 0.924,
"delta": -0.0013,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3984,
"after": 0.3451,
"delta": -0.0533,
"percent_delta": -0.1338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.203 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1217,
"after": 0.0,
"delta": -0.1217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8881,
"after": 3.0,
"delta": 0.1119,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2399,
"after": 0.0,
"delta": -0.2399,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5854,
"after": 1.0,
"delta": 0.4146,
"percent_delta": 0.7082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0963,
"after": 0.0,
"delta": -0.0963,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5513,
"after": 1.0,
"delta": 0.4487,
"percent_delta": 0.8139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5513,
"after": 1.0,
"delta": 0.4487,
"percent_delta": 0.8139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2399,
"after": 0.0,
"delta": -0.2399,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.071)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.305,
"after": 0.0,
"delta": -0.305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.305,
"after": 0.0,
"delta": -0.305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1306,
"predicted_3B": 0.0069,
"predicted_BB": 0.2517,
"predicted_H": 0.6736,
"predicted_HR": 0.1019,
"predicted_RBI": 0.35,
"predicted_SO": 0.9078
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1306,
"delta": 0.1306,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0069,
"delta": 0.0069,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2517,
"delta": 0.2517,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6736,
"delta": -0.3264,
"percent_delta": -0.3264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1019,
"delta": 0.1019,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.35,
"delta": -0.65,
"percent_delta": -0.65,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9078,
"delta": -0.0922,
"percent_delta": -0.0922,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2517,
"delta": 0.2517,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.35,
"delta": -0.65,
"percent_delta": -0.65,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0069,
"after": 0.0,
"delta": -0.0069,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2517,
"after": 0.0,
"delta": -0.2517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6736,
"after": 1.0,
"delta": 0.3264,
"percent_delta": 0.4846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1019,
"after": 0.0,
"delta": -0.1019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9078,
"after": 1.0,
"delta": 0.0922,
"percent_delta": 0.1016,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6736,
"after": 1.0,
"delta": 0.3264,
"percent_delta": 0.4846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.287,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.369,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2027,
"after": 0.221,
"delta": 0.0183,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2639,
"after": 0.287,
"delta": 0.0231,
"percent_delta": 0.0875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3451,
"after": 0.369,
"delta": 0.0239,
"percent_delta": 0.0693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2027,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2639,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3451,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2027,
"delta": -0.0183,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2639,
"delta": -0.0231,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3451,
"delta": -0.0239,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3451,
"delta": -0.0239,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.868,
"after": 2.0,
"delta": -0.868,
"percent_delta": -0.3026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2027,
"delta": -0.0163,
"percent_delta": -0.0744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.246,
"after": 2.0,
"delta": 1.754,
"percent_delta": 7.1301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2639,
"delta": -0.0181,
"percent_delta": -0.0642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.272,
"after": 0.0,
"delta": -0.272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3451,
"delta": -0.0429,
"percent_delta": -0.1106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.246,
"after": 2.0,
"delta": 1.754,
"percent_delta": 7.1301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.868 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.246 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.272 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 0.930 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.888 | 0.020 |
| predicted_AVG | 0.229 | 0.010 |
| predicted_BB | 0.240 | -0.006 |
| predicted_H | 0.589 | 0.089 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.097 | 0.017 |
| predicted_OBP | 0.290 | 0.008 |
| predicted_R | 0.308 | 0.036 |
| predicted_RBI | 0.556 | 0.077 |
| predicted_SLG | 0.398 | 0.010 |
| predicted_SO | 0.925 | -0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.888 | 0.000 |
| predicted_AVG | 0.203 | -0.027 |
| predicted_BB | 0.240 | 0.000 |
| predicted_H | 0.585 | -0.004 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.096 | -0.001 |
| predicted_OBP | 0.264 | -0.026 |
| predicted_R | 0.305 | -0.003 |
| predicted_RBI | 0.551 | -0.005 |
| predicted_SLG | 0.345 | -0.053 |
| predicted_SO | 0.924 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.203 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.071)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.131 | 0.131 |
| 3B | 0.007 | 0.007 |
| BB | 0.252 | 0.252 |
| H | 0.674 | -0.326 |
| HR | 0.102 | 0.102 |
| RBI | 0.350 | -0.650 |
| SO | 0.908 | -0.092 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.131 |
| 3B | 0.000 | -0.007 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.252 |
| H | 1.000 | 0.326 |
| HR | 0.000 | -0.102 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.350 |
| SO | 1.000 | 0.092 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.112 |
| predicted_AVG | 0.221 | 0.018 |
| predicted_BB | 0.000 | -0.240 |
| predicted_H | 1.000 | 0.415 |
| predicted_HR | 0.000 | -0.096 |
| predicted_OBP | 0.287 | 0.023 |
| predicted_R | 0.000 | -0.305 |
| predicted_RBI | 1.000 | 0.449 |
| predicted_SLG | 0.369 | 0.024 |
| predicted_SO | 1.000 | 0.076 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 5.000 | 1.000 | 0.000 | 1.000 | 7.000 | 3.000 | 1.000 | 4.000 | 0.3571 | 0.4000 | 0.6429 | 0.3571 | 0.0714 | 0.5000 | 0.0714 | 0.2857 |
| last_10 | 0.20 | 10 | - | 28.000 | 6.000 | 1.000 | 0.000 | 1.000 | 8.000 | 3.000 | 2.000 | 10.000 | 0.2143 | 0.2667 | 0.3571 | 0.2143 | 0.0357 | 0.2857 | 0.0714 | 0.3571 |
| season | 0.60 | 114 | - | 327.000 | 70.000 | 13.000 | 0.000 | 11.000 | 42.000 | 31.000 | 28.000 | 106.000 | 0.2141 | 0.2773 | 0.3547 | 0.2141 | 0.0336 | 0.1284 | 0.0856 | 0.3242 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1320 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.9150 |
| predicted_AVG | 0.2432 |
| predicted_BB | 0.2310 |
| predicted_H | 0.7090 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1200 |
| predicted_OBP | 0.3002 |
| predicted_R | 0.3560 |
| predicted_RBI | 0.6590 |
| predicted_SLG | 0.4124 |
| predicted_SO | 0.9190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.1320 | 0.1217 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8680 | 2.9150 | 2.8881 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2432 | 0.2293 | model_form_blend |
| predicted_BB | 0.2460 | 0.2310 | 0.2396 | model_form_blend |
| predicted_H | 0.5000 | 0.7090 | 0.5893 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0800 | 0.1200 | 0.0971 | model_form_blend |
| predicted_OBP | 0.2820 | 0.3002 | 0.2898 | model_form_blend |
| predicted_R | 0.2720 | 0.3560 | 0.3079 | model_form_blend |
| predicted_RBI | 0.4800 | 0.6590 | 0.5565 | model_form_blend |
| predicted_SLG | 0.3880 | 0.4124 | 0.3984 | model_form_blend |
| predicted_SO | 0.9300 | 0.9190 | 0.9253 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 364 |
| Season rows before report date | 364 |
| Report year | 2026 |
| Profile rows used | 114 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 641857 |
| playerID | 641857 |
| playerName | Ryan McMahon |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.282 |
| sl_xwoba | 0.297 |
| sl_xba | 0.23 |
| sl_xslg | 0.381 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 45.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.471 | 1.000 | 2.529 | 3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.235 | 0.000 | -0.235 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.853 | 2.000 | -0.853 | 1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.759 | 6.100 | 0.241 | -0.100 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 7.324 | 10.000 | -0.324 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) |
| Biggest Deboost | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 2 | 0 | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "693645",
"player_name": "Cam Schlittler",
"position": "Starter",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 1.000 | -1.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 3.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.100 | 3.000 | 12.000 | 8.000 | 39.000 | 1.000 | 0.9529 | 0.7059 | 0.1059 | 0.4235 | 0.2823 | 1.3765 | 0.0353 |
| last_10 | 0.35 | 10 | 60.100 | 7.000 | 29.000 | 19.000 | 78.000 | 3.000 | 1.0442 | 0.7956 | 0.1160 | 0.4807 | 0.3149 | 1.2928 | 0.0497 |
| season | 0.20 | 34 | 200.000 | 42.000 | 131.000 | 50.000 | 249.000 | 16.000 | 1.8900 | 0.9050 | 0.2100 | 0.6550 | 0.2500 | 1.2450 | 0.0800 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7560 |
| predicted_ER | 1.0530 |
| predicted_ERA | 1.6141 |
| predicted_H | 3.2470 |
| predicted_HR | 0.3630 |
| predicted_IP | 6.0000 |
| predicted_SO | 7.4620 |
| predicted_WHIP | 0.8524 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.7560 | 2.6629 | model_form_blend |
| predicted_ER | 2.0000 | 1.0530 | 1.4357 | model_form_blend |
| predicted_ERA | - | 1.6141 | 1.6141 | form_only |
| predicted_H | 3.0000 | 3.2470 | 3.1472 | model_form_blend |
| predicted_HR | 0.0000 | 0.3630 | 0.2163 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 4.0000 | 7.4620 | 6.0628 | model_form_blend |
| predicted_WHIP | - | 0.8524 | 0.8524 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 4 |
| SO | 7 |
| HR | 0 |
| BF | 26 |
| Pitches | 113 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 4 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.1 |
| Pitching_Pitches | 117 |
| Pitching_R | 0 |
| Pitching_SO | 10 |
| Pitching_Strikes | 77 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260929_BOS@NYY |
| game_type | full |
| mlbID | 693645 |
| playerID | 693645 |
| playerName | Cam Schlittler |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-09-29 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.243 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 38.3 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 52.0 |
| sl_avg_best_speed | 77.699858553 |
| sl_avg_hyper_speed | 93.752402829 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.531 | 1.000 | -0.531 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.938 | 0.000 | -0.938 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.223 | 1.200 | -0.123 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.078 | 0.000 | -1.078 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "621112",
"player_name": "Paul Blackburn",
"position": "Middle Reliever (High Leverage)",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 0.000 | 5.000 | 2.000 | 3.000 | 0.000 | 0.0000 | 1.0500 | 0.0000 | 0.7500 | 0.3000 | 0.4500 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 1.000 | 8.000 | 6.000 | 5.000 | 1.000 | 0.8710 | 1.3548 | 0.0968 | 0.7742 | 0.5806 | 0.4839 | 0.0968 |
| season | 0.20 | 64 | 88.100 | 15.000 | 60.000 | 34.000 | 69.000 | 7.000 | 1.5283 | 1.0642 | 0.1698 | 0.6793 | 0.3849 | 0.7811 | 0.0793 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5060 |
| predicted_ER | 0.2030 |
| predicted_ERA | 1.4731 |
| predicted_H | 0.9880 |
| predicted_HR | 0.0880 |
| predicted_IP | 1.1000 |
| predicted_SO | 0.7640 |
| predicted_WHIP | 1.2036 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5060 | 0.2829 | model_form_blend |
| predicted_ER | 0.0000 | 0.2030 | 0.1135 | model_form_blend |
| predicted_ERA | - | 1.4731 | 1.4731 | form_only |
| predicted_H | 0.0000 | 0.9880 | 0.5524 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0492 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7640 | 0.8681 | model_form_blend |
| predicted_WHIP | - | 1.2036 | 1.2036 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 64 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 25 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 621112 |
| playerID | 621112 |
| playerName | Paul Blackburn |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.259 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 35.2 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 45.7 |
| sl_avg_best_speed | 75.055748879 |
| sl_avg_hyper_speed | 93.465775108 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.323 | 1.000 | 0.677 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.800 | 0.000 | 0.200 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.014 | 1.000 | -0.014 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.185 | 1.000 | -1.185 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_run_redistribution | 1 | 1 | 0 | 0 | 1 | predicted_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. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670280",
"player_name": "David Bednar",
"position": "Closer",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.000 | 0.000 |
| predicted_SO | 2.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 0.000 | 4.000 | 3.000 | 5.000 | 0.000 | 0.0000 | 1.1667 | 0.0000 | 0.6667 | 0.5000 | 0.8333 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 9.000 | 3.000 | 12.000 | 1.000 | 0.8182 | 1.0909 | 0.0909 | 0.8182 | 0.2727 | 1.0909 | 0.0909 |
| season | 0.20 | 65 | 70.100 | 19.000 | 52.000 | 21.000 | 77.000 | 4.000 | 2.4313 | 1.0379 | 0.2701 | 0.7393 | 0.2986 | 1.0948 | 0.0569 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4230 |
| predicted_ER | 0.2170 |
| predicted_ERA | 1.7576 |
| predicted_H | 0.8870 |
| predicted_HR | 0.0780 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0730 |
| predicted_WHIP | 1.1785 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4230 | 0.6874 | model_form_blend |
| predicted_ER | 0.0000 | 0.2170 | 0.1176 | model_form_blend |
| predicted_ERA | - | 1.7576 | 1.7576 | form_only |
| predicted_H | 1.0000 | 0.8870 | 0.9388 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0423 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0730 | 1.4978 | model_form_blend |
| predicted_WHIP | - | 1.1785 | 1.1785 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 65 |
| Season rows before report date | 65 |
| Report year | 2026 |
| Profile rows used | 65 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260930_BOS@NYY |
| game_type | full |
| mlbID | 670280 |
| playerID | 670280 |
| playerName | David Bednar |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-09-30 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.249 |
| sl_xwoba | 0.263 |
| sl_sweet_spot_percent | 26.4 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 53.1 |
| sl_avg_best_speed | 76.065211111 |
| sl_avg_hyper_speed | 93.295998994 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.337 | 1.000 | -0.337 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.819 | 0.000 | -0.819 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.758 | 0.100 | -0.558 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.181 | 0.000 | -1.181 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687396",
"player_name": "Brent Headrick",
"position": "Setup Man",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 2.200 | 3.000 | 3.000 | 4.000 | 3.000 | 1.000 | 10.1250 | 2.6250 | 1.1250 | 1.1250 | 1.5000 | 1.1250 | 0.3750 |
| last_10 | 0.35 | 10 | 6.200 | 4.000 | 6.000 | 7.000 | 7.000 | 1.000 | 5.4000 | 1.9500 | 0.6000 | 0.9000 | 1.0500 | 1.0500 | 0.1500 |
| season | 0.20 | 83 | 79.000 | 19.000 | 68.000 | 28.000 | 98.000 | 5.000 | 2.1646 | 1.2152 | 0.2405 | 0.8608 | 0.3544 | 1.2405 | 0.0633 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6760 |
| predicted_ER | 0.5060 |
| predicted_ERA | 6.3489 |
| predicted_H | 0.7110 |
| predicted_HR | 0.1530 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7740 |
| predicted_WHIP | 1.9327 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6760 | 0.3724 | model_form_blend |
| predicted_ER | 0.0000 | 0.5060 | 0.2787 | model_form_blend |
| predicted_ERA | - | 6.3489 | 6.3489 | form_only |
| predicted_H | 0.0000 | 0.7110 | 0.3917 | model_form_blend |
| predicted_HR | 0.0000 | 0.1530 | 0.0843 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7740 | 0.4264 | model_form_blend |
| predicted_WHIP | - | 1.9327 | 1.9327 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 83 |
| Season rows before report date | 83 |
| Report year | 2026 |
| Profile rows used | 83 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 8 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 687396 |
| playerID | 687396 |
| playerName | Brent Headrick |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-03 |
| sl_k_percent | 30.1 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.29 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 77.012885876 |
| sl_avg_hyper_speed | 93.769256218 |
| Field | Value |
|---|---|
| Pitcher | Freddy Peralta |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1426 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0309 |
| Avg Velo | 89.3129 |
| Avg Spin | 2298.3634 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 4 |
| Pre H | 7 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 4.4201 |
| Season WHIP | 1.3254 |
| Role Avg IP | 5.2810 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 5.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0121,
"opponent_offense_edge": 0.0225,
"defense_strength": 0.1188,
"opponent_defense_weakness": -0.2025,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.002,
"run_prevention": 0.9926,
"strikeout": 0.9977
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642547",
"profile": {
"available": true,
"pitcher_id": "642547",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 683.0,
"k_percent": 21.4,
"bb_percent": 8.6,
"woba": 0.323,
"xwoba": 0.302,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 37.2,
"avg_best_speed": 76.4239,
"avg_hyper_speed": 93.4809,
"whiff_percent": 26.1,
"swing_percent": 48.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.138,
"command_and_miss": 0.03,
"regression_edge": 0.6,
"xwoba_edge": 0.2857,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.1,
"whiff_edge": 0.1286,
"bb_edge": 0.15,
"pitch_design_score": -0.0309
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642547",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.31293809090894,
"release_spin_rate": 2298.363391166723,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.31293809090894,
"release_spin_rate": 2298.363391166723,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.3129,
"release_spin_rate": 2298.3634,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0309,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2205,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1426,
"sample_weight": 1.0,
"run_prevention_factor": 0.9879,
"strikeout_factor": 1.0011,
"walk_factor": 0.988,
"homer_factor": 0.9625,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "642547",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9879,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.9879,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.988,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9625,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0011,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 55.1,
"ER": 20,
"H": 41,
"BB": 15,
"SO": 43,
"HR": 6,
"ERA": 3.253012048192771,
"WHIP": 1.0120481927710843,
"K9": 6.993975903614458,
"HR9": 0.9759036144578312,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-25T00:00:00"
}{
"available": true,
"pitcher_id": "642547",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.31293809090894,
"release_spin_rate": 2298.363391166723,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.31293809090894,
"release_spin_rate": 2298.363391166723,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.3129,
"release_spin_rate": 2298.3634,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0309,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2205,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 32.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8649,
"prior_weight": 0.1351
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "642547",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 3.0,
"R": 3.0,
"H": 16.0,
"BB": 9.0,
"SO": 23.0,
"HR": 1.0,
"BF": 109.0,
"Pitches": 442.0
},
"per_game": {
"IP": 5.2,
"ER": 0.6,
"R": 0.6,
"H": 3.2,
"BB": 1.8,
"SO": 4.6,
"HR": 0.2,
"BF": 21.8,
"Pitches": 88.4
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.8929,
"ER_per_IP": 0.10714,
"H_per_IP": 0.57143,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.82143,
"HR_per_IP": 0.03571
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.1,
"ER": 20.0,
"R": 20.0,
"H": 41.0,
"BB": 15.0,
"SO": 43.0,
"HR": 6.0,
"BF": 218.0,
"Pitches": 866.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 4.1,
"BB": 1.5,
"SO": 4.3,
"HR": 0.6,
"BF": 21.8,
"Pitches": 86.6
},
"rates": {
"ERA": 3.253,
"WHIP": 1.012,
"ER_per_IP": 0.36145,
"H_per_IP": 0.74096,
"BB_per_IP": 0.27108,
"SO_per_IP": 0.77711,
"HR_per_IP": 0.10843
}
},
"season": {
"games": 32,
"totals": {
"IP": 169.0,
"ER": 83.0,
"R": 91.0,
"H": 161.0,
"BB": 63.0,
"SO": 156.0,
"HR": 23.0,
"BF": 730.0,
"Pitches": 2959.0
},
"per_game": {
"IP": 5.1,
"ER": 2.5938,
"R": 2.8438,
"H": 5.0312,
"BB": 1.9688,
"SO": 4.875,
"HR": 0.7188,
"BF": 22.8125,
"Pitches": 92.4688
},
"rates": {
"ERA": 4.4201,
"WHIP": 1.3254,
"ER_per_IP": 0.49112,
"H_per_IP": 0.95266,
"BB_per_IP": 0.37278,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.13609
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.699,
"predicted_H": 4.142,
"predicted_BB": 1.797,
"predicted_SO": 4.679,
"predicted_HR": 0.502,
"predicted_ERA": 2.7486,
"predicted_WHIP": 1.0675
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4071,
"form_weight": 0.5929,
"form_reliability": 0.8649,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 32.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8649,
"prior_weight": 0.1351
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.699,
"final": 2.6357,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 4.142,
"final": 5.3054,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.797,
"final": 1.8796,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.679,
"final": 4.4026,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.502,
"final": 0.7047,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7486,
"final": 2.7486,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0675,
"final": 1.0675,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Bryan Baker |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4562 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0670 |
| Avg Velo | 91.0610 |
| Avg Spin | 2094.4919 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 1.2789 |
| Season WHIP | 0.8526 |
| Role Avg IP | 0.9900 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0121,
"opponent_offense_edge": 0.0225,
"defense_strength": 0.1188,
"opponent_defense_weakness": -0.2025,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.002,
"run_prevention": 0.9926,
"strikeout": 0.9977
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641329",
"profile": {
"available": true,
"pitcher_id": "641329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 25.8,
"bb_percent": 9.0,
"woba": 0.231,
"xwoba": 0.272,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 35.7,
"avg_best_speed": 74.9962,
"avg_hyper_speed": 93.5589,
"whiff_percent": 27.2,
"swing_percent": 52.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9354,
"command_and_miss": 0.3479,
"regression_edge": -1.1714,
"xwoba_edge": 1.1429,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.2857,
"bb_edge": 0.05,
"pitch_design_score": 0.067
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641329",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.0609741789056,
"release_spin_rate": 2094.491937190086,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.0609741789056,
"release_spin_rate": 2094.491937190086,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.061,
"release_spin_rate": 2094.4919,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.067,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4787,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4562,
"sample_weight": 0.908,
"run_prevention_factor": 0.9612,
"strikeout_factor": 1.0296,
"walk_factor": 0.9964,
"homer_factor": 0.9542,
"woba_minus_xwoba": -0.041,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "641329",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9648,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9648,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9967,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9584,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0269,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 0,
"H": 5,
"BB": 3,
"SO": 5,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.8571428571428572,
"K9": 4.821428571428572,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "641329",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.0609741789056,
"release_spin_rate": 2094.491937190086,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.0609741789056,
"release_spin_rate": 2094.491937190086,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.061,
"release_spin_rate": 2094.4919,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.067,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4787,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.075,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7234,
"prior_weight": 0.2766
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641329",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 64,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.3,
"SO": 0.6,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7742,
"ER_per_IP": 0.0,
"H_per_IP": 0.48387,
"BB_per_IP": 0.29032,
"SO_per_IP": 0.58065,
"HR_per_IP": 0.0
}
},
"season": {
"games": 64,
"totals": {
"IP": 63.1,
"ER": 9.0,
"R": 10.0,
"H": 34.0,
"BB": 20.0,
"SO": 65.0,
"HR": 4.0,
"BF": 244.0,
"Pitches": 971.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1406,
"R": 0.1562,
"H": 0.5312,
"BB": 0.3125,
"SO": 1.0156,
"HR": 0.0625,
"BF": 3.8125,
"Pitches": 15.1719
},
"rates": {
"ERA": 1.2789,
"WHIP": 0.8526,
"ER_per_IP": 0.14211,
"H_per_IP": 0.53684,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.02632,
"HR_per_IP": 0.06316
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.163,
"predicted_H": 0.668,
"predicted_BB": 0.289,
"predicted_SO": 0.749,
"predicted_HR": 0.05,
"predicted_ERA": 1.4626,
"predicted_WHIP": 0.9572
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4669,
"form_weight": 0.5331,
"form_reliability": 0.7234,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.075,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7234,
"prior_weight": 0.2766
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.163,
"final": 0.0869,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.668,
"final": 0.3561,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.289,
"final": 0.6209,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.749,
"final": 0.8662,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.05,
"final": 0.0267,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.4626,
"final": 1.4626,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9572,
"final": 0.9572,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Cam Booser |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4179 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0509 |
| Avg Velo | 90.7732 |
| Avg Spin | 2027.3870 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 1.9756 |
| Season WHIP | 0.7561 |
| Role Avg IP | 0.9760 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0121,
"opponent_offense_edge": 0.0225,
"defense_strength": 0.1188,
"opponent_defense_weakness": -0.2025,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.002,
"run_prevention": 0.9926,
"strikeout": 0.9977
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592155",
"profile": {
"available": true,
"pitcher_id": "592155",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 137.0,
"k_percent": 29.6,
"bb_percent": 3.9,
"woba": 0.222,
"xwoba": 0.252,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.6,
"avg_best_speed": 81.0831,
"avg_hyper_speed": 94.1974,
"whiff_percent": 28.6,
"swing_percent": 55.5
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.0817,
"command_and_miss": 0.9171,
"regression_edge": -0.8571,
"xwoba_edge": 1.7143,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.0429,
"whiff_edge": 0.4857,
"bb_edge": 1.325,
"pitch_design_score": 0.0509
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592155",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.77323781639957,
"release_spin_rate": 2027.3869910134617,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.77323781639957,
"release_spin_rate": 2027.3869910134617,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.7732,
"release_spin_rate": 2027.387,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0509,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3636,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4179,
"sample_weight": 0.548,
"run_prevention_factor": 0.9645,
"strikeout_factor": 1.0341,
"walk_factor": 0.9419,
"homer_factor": 0.9582,
"woba_minus_xwoba": -0.03,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "592155",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9805,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9805,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9682,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9771,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0187,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.2,
"ER": 0,
"H": 2,
"BB": 0,
"SO": 6,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.2608695652173913,
"K9": 7.0434782608695645,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-26T00:00:00"
}{
"available": true,
"pitcher_id": "592155",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.77323781639957,
"release_spin_rate": 2027.3869910134617,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.77323781639957,
"release_spin_rate": 2027.3869910134617,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.7732,
"release_spin_rate": 2027.387,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0509,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3636,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.464,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6286,
"prior_weight": 0.3714
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592155",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 47.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 2.6,
"Pitches": 9.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.25,
"ER_per_IP": 0.0,
"H_per_IP": 0.25,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 86.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 2.4,
"Pitches": 8.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2609,
"ER_per_IP": 0.0,
"H_per_IP": 0.26087,
"BB_per_IP": 0.0,
"SO_per_IP": 0.78261,
"HR_per_IP": 0.0
}
},
"season": {
"games": 42,
"totals": {
"IP": 41.0,
"ER": 9.0,
"R": 10.0,
"H": 25.0,
"BB": 6.0,
"SO": 45.0,
"HR": 5.0,
"BF": 152.0,
"Pitches": 573.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2143,
"R": 0.2381,
"H": 0.5952,
"BB": 0.1429,
"SO": 1.0714,
"HR": 0.119,
"BF": 3.619,
"Pitches": 13.6429
},
"rates": {
"ERA": 1.9756,
"WHIP": 0.7561,
"ER_per_IP": 0.21951,
"H_per_IP": 0.60976,
"BB_per_IP": 0.14634,
"SO_per_IP": 1.09756,
"HR_per_IP": 0.12195
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.182,
"predicted_H": 0.475,
"predicted_BB": 0.133,
"predicted_SO": 0.783,
"predicted_HR": 0.058,
"predicted_ERA": 1.9637,
"predicted_WHIP": 0.73
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5069,
"form_weight": 0.4931,
"form_reliability": 0.6286,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.464,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6286,
"prior_weight": 0.3714
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 0.2,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.182,
"final": 0.0897,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.475,
"final": 0.2342,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.133,
"final": 0.5725,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.783,
"final": 0.893,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0286,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9637,
"final": 1.9637,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.73,
"final": 0.73,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Kevin Kelly |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2796 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0402 |
| Avg Velo | 89.1464 |
| Avg Spin | 2031.0064 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.4434 |
| Season WHIP | 0.8959 |
| Role Avg IP | 1.0380 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0121,
"opponent_offense_edge": 0.0225,
"defense_strength": 0.1188,
"opponent_defense_weakness": -0.2025,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.002,
"run_prevention": 0.9926,
"strikeout": 0.9977
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687330",
"profile": {
"available": true,
"pitcher_id": "687330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 260.0,
"k_percent": 22.6,
"bb_percent": 3.9,
"woba": 0.246,
"xwoba": 0.284,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 44.6,
"avg_best_speed": 78.7371,
"avg_hyper_speed": 94.6069,
"whiff_percent": 24.0,
"swing_percent": 49.4
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5887,
"command_and_miss": 0.2371,
"regression_edge": -1.0857,
"xwoba_edge": 0.8,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.9571,
"whiff_edge": -0.1714,
"bb_edge": 1.325,
"pitch_design_score": -0.0402
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 28,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 28,
"pitch_usage": 0.0,
"release_speed": 89.1463705272063,
"release_spin_rate": 2031.0064061373982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 28,
"pitch_usage": 0.0,
"release_speed": 89.1463705272063,
"release_spin_rate": 2031.0064061373982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.1464,
"release_spin_rate": 2031.0064,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0402,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2871,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2796,
"sample_weight": 1.0,
"run_prevention_factor": 0.9762,
"strikeout_factor": 0.996,
"walk_factor": 0.894,
"homer_factor": 0.993,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "687330",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9762,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9762,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.894,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.993,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.996,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 6,
"H": 12,
"BB": 0,
"SO": 11,
"HR": 1,
"ERA": 6.75,
"WHIP": 1.5,
"K9": 12.375,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-25T00:00:00"
}{
"available": true,
"pitcher_id": "687330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 28,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 28,
"pitch_usage": 0.0,
"release_speed": 89.1463705272063,
"release_spin_rate": 2031.0064061373982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 28,
"pitch_usage": 0.0,
"release_speed": 89.1463705272063,
"release_spin_rate": 2031.0064061373982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.1464,
"release_spin_rate": 2031.0064,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0402,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2871,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.208,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7526,
"prior_weight": 0.2474
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687330",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 71,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 11.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.0714,
"ER_per_IP": 0.21429,
"H_per_IP": 1.07143,
"BB_per_IP": 0.0,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 6.0,
"R": 7.0,
"H": 12.0,
"BB": 0.0,
"SO": 11.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 131.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.7,
"H": 1.2,
"BB": 0.0,
"SO": 1.1,
"HR": 0.1,
"BF": 3.6,
"Pitches": 13.1
},
"rates": {
"ERA": 6.75,
"WHIP": 1.5,
"ER_per_IP": 0.75,
"H_per_IP": 1.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.375,
"HR_per_IP": 0.125
}
},
"season": {
"games": 71,
"totals": {
"IP": 73.2,
"ER": 20.0,
"R": 23.0,
"H": 55.0,
"BB": 11.0,
"SO": 63.0,
"HR": 6.0,
"BF": 279.0,
"Pitches": 987.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2817,
"R": 0.3239,
"H": 0.7746,
"BB": 0.1549,
"SO": 0.8873,
"HR": 0.0845,
"BF": 3.9296,
"Pitches": 13.9014
},
"rates": {
"ERA": 2.4434,
"WHIP": 0.8959,
"ER_per_IP": 0.27149,
"H_per_IP": 0.74661,
"BB_per_IP": 0.14932,
"SO_per_IP": 0.8552,
"HR_per_IP": 0.08145
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.4,
"predicted_H": 1.016,
"predicted_BB": 0.106,
"predicted_SO": 1.056,
"predicted_HR": 0.075,
"predicted_ERA": 3.9416,
"predicted_WHIP": 1.2304
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4545,
"form_weight": 0.5455,
"form_reliability": 0.7526,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.208,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7526,
"prior_weight": 0.2474
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.4,
"final": 0.2182,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.016,
"final": 0.5542,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.106,
"final": 0.0578,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.056,
"final": 0.576,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0409,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9416,
"final": 3.9416,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2304,
"final": 1.2304,
"source": "form_only"
}
}
}{
"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."
}| Field | Value |
|---|---|
| Pitcher | Cole Sulser |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1006 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1013 |
| Avg Velo | 88.0544 |
| Avg Spin | 2119.2007 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.8343 |
| Season WHIP | 1.1893 |
| Role Avg IP | 1.0900 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0121,
"defense_index": 1.1188,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1542
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0225,
"defense_index": 1.2025,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.171
},
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0121,
"opponent_offense_edge": 0.0225,
"defense_strength": 0.1188,
"opponent_defense_weakness": -0.2025,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.002,
"run_prevention": 0.9926,
"strikeout": 0.9977
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642121",
"profile": {
"available": true,
"pitcher_id": "642121",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 209.0,
"k_percent": 23.7,
"bb_percent": 7.2,
"woba": 0.306,
"xwoba": 0.321,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 41.1,
"avg_best_speed": 75.7042,
"avg_hyper_speed": 94.3453,
"whiff_percent": 27.1,
"swing_percent": 51.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.2621,
"command_and_miss": 0.2979,
"regression_edge": -0.4286,
"xwoba_edge": -0.2571,
"barrel_edge": -1.0222,
"hard_hit_edge": -0.4571,
"whiff_edge": 0.2714,
"bb_edge": 0.5,
"pitch_design_score": -0.1013
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642121",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.05442215361292,
"release_spin_rate": 2119.2006534735324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.05442215361292,
"release_spin_rate": 2119.2006534735324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0544,
"release_spin_rate": 2119.2007,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1013,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7239,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1006,
"sample_weight": 0.836,
"run_prevention_factor": 1.0085,
"strikeout_factor": 1.0167,
"walk_factor": 0.9666,
"homer_factor": 1.0901,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "642121",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0071,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0071,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9721,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0753,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.014,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 6,
"BB": 3,
"SO": 8,
"HR": 1,
"ERA": 1.8,
"WHIP": 0.9,
"K9": 7.2,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-26T00:00:00"
}{
"available": true,
"pitcher_id": "642121",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.05442215361292,
"release_spin_rate": 2119.2006534735324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.05442215361292,
"release_spin_rate": 2119.2006534735324,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0544,
"release_spin_rate": 2119.2007,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1013,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7239,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.63,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6993,
"prior_weight": 0.3007
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "642121",
"report_date": "20261005",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 91.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 18.2
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 3.0,
"SO": 8.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.3,
"SO": 0.8,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.9,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.3,
"SO_per_IP": 0.8,
"HR_per_IP": 0.1
}
},
"season": {
"games": 50,
"totals": {
"IP": 56.1,
"ER": 24.0,
"R": 28.0,
"H": 51.0,
"BB": 16.0,
"SO": 56.0,
"HR": 7.0,
"BF": 233.0,
"Pitches": 925.0
},
"per_game": {
"IP": 1.0,
"ER": 0.48,
"R": 0.56,
"H": 1.02,
"BB": 0.32,
"SO": 1.12,
"HR": 0.14,
"BF": 4.66,
"Pitches": 18.5
},
"rates": {
"ERA": 3.8343,
"WHIP": 1.1893,
"ER_per_IP": 0.42604,
"H_per_IP": 0.90533,
"BB_per_IP": 0.28402,
"SO_per_IP": 0.99408,
"HR_per_IP": 0.12426
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.293,
"predicted_H": 0.739,
"predicted_BB": 0.318,
"predicted_SO": 0.894,
"predicted_HR": 0.078,
"predicted_ERA": 2.9321,
"predicted_WHIP": 1.1746
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.477,
"form_weight": 0.523,
"form_reliability": 0.6993,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.63,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6993,
"prior_weight": 0.3007
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.293,
"final": 0.1532,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.739,
"final": 0.3865,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.318,
"final": 0.1663,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.894,
"final": 0.4675,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0408,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9321,
"final": 2.9321,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1746,
"final": 1.1746,
"source": "form_only"
}
}
}{
"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."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.119 | 0.000 | 0.000 | Hitting_2B | 0.210 | 1.000 | -0.210 | -1.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.790 | 3.000 | 4.000 | Hitting_AB | 3.371 | 3.000 | -0.371 | 0.000 |
| predicted_AVG | 0.266 | 0.000 | 0.250 | Hitting_AVG | 0.318 | 0.333 | -0.318 | -0.333 |
| predicted_BB | 0.399 | 1.000 | 0.000 | Hitting_BB | 0.444 | 1.000 | 0.556 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 1.073 | 1.000 | -1.073 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.365 | 0.250 | 0.250 | Hitting_OBP | 0.411 | 0.500 | -0.161 | -0.250 |
| predicted_R | 0.462 | 0.000 | 0.000 | Hitting_R | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.734 | 0.000 | -0.734 | 0.000 |
| predicted_SLG | 0.395 | 0.000 | 0.250 | Hitting_SLG | 0.510 | 0.667 | -0.510 | -0.667 |
| predicted_SO | 0.385 | 2.000 | 1.000 | Hitting_SO | 0.347 | 0.000 | 1.653 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.3850 -> 2.0000 (boost 1.6150, worse) |
| Biggest Deboost | predicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.1190 -> 0.1712 (boost 0.0522, better) | predicted_AB: 3.7900 -> 3.6551 (deboost -0.1349, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3641 -> 0.3417 (deboost -0.0224, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_AB: 3.6551 -> 4.0000 (boost 0.3449, better) | predicted_RBI: 0.4741 -> 0.0000 (deboost -0.4741, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.226 HR/AB=0.022 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4345 -> 0.0000 (deboost -0.4345, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5365 (boost 0.5365, better) | predicted_H: 1.0000 -> 0.8289 (deboost -0.1711, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 6 | 3 | 3 | 2 | 4 | predicted_SO: 0.5148 -> 1.0000 (boost 0.4852, worse) | predicted_BB: 0.3212 -> 0.0000 (deboost -0.3212, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 5 | 1 | 4 | 2 | 3 | predicted_SLG: 0.3850 -> 0.3920 (boost 0.0070, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2980 -> 0.3417 (boost 0.0437, better) | predicted_SLG: 0.3920 -> 0.3850 (deboost -0.0070, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "689414",
"player_name": "Liam Hicks",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.119,
"predicted_3B": 0.007,
"predicted_AB": 3.79,
"predicted_AVG": 0.266,
"predicted_BB": 0.399,
"predicted_H": 1.01,
"predicted_HR": 0.09,
"predicted_OBP": 0.365,
"predicted_R": 0.462,
"predicted_RBI": 0.51,
"predicted_SLG": 0.395,
"predicted_SO": 0.385
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1712,
"predicted_3B": 0.0061,
"predicted_AB": 3.6551,
"predicted_AVG": 0.27,
"predicted_BB": 0.4208,
"predicted_H": 0.9874,
"predicted_HBP": 0.047,
"predicted_HR": 0.0856,
"predicted_OBP": 0.3641,
"predicted_R": 0.445,
"predicted_RBI": 0.4856,
"predicted_SLG": 0.4041,
"predicted_SO": 0.3976
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.1712,
"delta": 0.0522,
"percent_delta": 0.4387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 3.6551,
"delta": -0.1349,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.27,
"delta": 0.004,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.399,
"after": 0.4208,
"delta": 0.0218,
"percent_delta": 0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.9874,
"delta": -0.0226,
"percent_delta": -0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0856,
"delta": -0.0044,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3641,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.445,
"delta": -0.017,
"percent_delta": -0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4856,
"delta": -0.0244,
"percent_delta": -0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.4041,
"delta": 0.0091,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.385,
"after": 0.3976,
"delta": 0.0126,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.119,
"after": 0.1712,
"delta": 0.0522,
"percent_delta": 0.4387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.79,
"after": 3.6551,
"delta": -0.1349,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 143
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1712,
"predicted_3B": 0.0061,
"predicted_AB": 3.6551,
"predicted_AVG": 0.2659,
"predicted_BB": 0.4208,
"predicted_H": 0.9719,
"predicted_HBP": 0.047,
"predicted_HR": 0.0839,
"predicted_OBP": 0.3417,
"predicted_R": 0.4345,
"predicted_RBI": 0.4741,
"predicted_SLG": 0.385,
"predicted_SO": 0.3976
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1712,
"after": 0.1712,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6551,
"after": 3.6551,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2659,
"delta": -0.0041,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4208,
"after": 0.4208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9874,
"after": 0.9719,
"delta": -0.0155,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0856,
"after": 0.0839,
"delta": -0.0017,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3641,
"after": 0.3417,
"delta": -0.0224,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 0.4345,
"delta": -0.0105,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4856,
"after": 0.4741,
"delta": -0.0115,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4041,
"after": 0.385,
"delta": -0.0191,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3976,
"after": 0.3976,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3641,
"after": 0.3417,
"delta": -0.0224,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.226 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1712,
"after": 0.0,
"delta": -0.1712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6551,
"after": 4.0,
"delta": 0.3449,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4208,
"after": 0.0,
"delta": -0.4208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9719,
"after": 1.0,
"delta": 0.0281,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0839,
"after": 0.0,
"delta": -0.0839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4741,
"after": 0.0,
"delta": -0.4741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3976,
"after": 0.0,
"delta": -0.3976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6551,
"after": 4.0,
"delta": 0.3449,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4741,
"after": 0.0,
"delta": -0.4741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4345,
"after": 0.0,
"delta": -0.4345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4345,
"after": 0.0,
"delta": -0.4345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.158,
"predicted_3B": 0.01,
"predicted_BB": 0.3212,
"predicted_H": 0.8289,
"predicted_HR": 0.1363,
"predicted_RBI": 0.5365,
"predicted_SO": 0.5148
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.158,
"delta": 0.158,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.01,
"delta": 0.01,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3212,
"delta": 0.3212,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8289,
"delta": -0.1711,
"percent_delta": -0.1711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1363,
"delta": 0.1363,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5365,
"delta": 0.5365,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5148,
"delta": 0.5148,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5365,
"delta": 0.5365,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8289,
"delta": -0.1711,
"percent_delta": -0.1711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3212,
"after": 0.0,
"delta": -0.3212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8289,
"after": 1.0,
"delta": 0.1711,
"percent_delta": 0.2064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1363,
"after": 0.0,
"delta": -0.1363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5365,
"after": 1.0,
"delta": 0.4635,
"percent_delta": 0.8639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5148,
"after": 1.0,
"delta": 0.4852,
"percent_delta": 0.9425,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5148,
"after": 1.0,
"delta": 0.4852,
"percent_delta": 0.9425,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3212,
"after": 0.0,
"delta": -0.3212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.23,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.392,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2659,
"after": 0.23,
"delta": -0.0359,
"percent_delta": -0.135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3417,
"after": 0.298,
"delta": -0.0437,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.392,
"delta": 0.007,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.392,
"delta": 0.007,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2659,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3417,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.385,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2659,
"delta": 0.0359,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3417,
"delta": 0.0437,
"percent_delta": 0.1466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.385,
"delta": -0.007,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3417,
"delta": 0.0437,
"percent_delta": 0.1466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.385,
"delta": -0.007,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 3.0,
"delta": -0.79,
"percent_delta": -0.2084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2659,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.399,
"after": 1.0,
"delta": 0.601,
"percent_delta": 1.5063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3417,
"delta": -0.0233,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.385,
"delta": -0.01,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.385,
"after": 2.0,
"delta": 1.615,
"percent_delta": 4.1948,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.385,
"after": 2.0,
"delta": 1.615,
"percent_delta": 4.1948,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.399 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.365 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.385 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.052 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.655 | -0.135 |
| predicted_AVG | 0.270 | 0.004 |
| predicted_BB | 0.421 | 0.022 |
| predicted_H | 0.987 | -0.023 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.364 | -0.001 |
| predicted_R | 0.445 | -0.017 |
| predicted_RBI | 0.486 | -0.024 |
| predicted_SLG | 0.404 | 0.009 |
| predicted_SO | 0.398 | 0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.655 | 0.000 |
| predicted_AVG | 0.266 | -0.004 |
| predicted_BB | 0.421 | 0.000 |
| predicted_H | 0.972 | -0.016 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.342 | -0.022 |
| predicted_R | 0.434 | -0.011 |
| predicted_RBI | 0.474 | -0.011 |
| predicted_SLG | 0.385 | -0.019 |
| predicted_SO | 0.398 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.226 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.158 | 0.158 |
| 3B | 0.010 | 0.010 |
| BB | 0.321 | 0.321 |
| H | 0.829 | -0.171 |
| HR | 0.136 | 0.136 |
| RBI | 0.536 | 0.536 |
| SO | 0.515 | 0.515 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.158 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.321 |
| H | 1.000 | 0.171 |
| HR | 0.000 | -0.136 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.464 |
| SO | 1.000 | 0.485 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.345 |
| predicted_AVG | 0.230 | -0.036 |
| predicted_BB | 0.000 | -0.421 |
| predicted_H | 1.000 | 0.028 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.298 | -0.044 |
| predicted_R | 0.000 | -0.434 |
| predicted_RBI | 0.000 | -0.474 |
| predicted_SLG | 0.392 | 0.007 |
| predicted_SO | 0.000 | -0.398 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 0.2500 | 0.3478 | 0.4000 | 0.2500 | 0.0000 | 0.0500 | 0.1500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 3.000 | 0.000 | 0.000 | 3.000 | 3.000 | 5.000 | 4.000 | 0.2812 | 0.3784 | 0.3750 | 0.2812 | 0.0000 | 0.0938 | 0.1562 | 0.1250 |
| season | 0.60 | 143 | - | 482.000 | 137.000 | 17.000 | 1.000 | 18.000 | 82.000 | 66.000 | 57.000 | 55.000 | 0.2842 | 0.3680 | 0.4357 | 0.2842 | 0.0373 | 0.1701 | 0.1183 | 0.1141 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2390 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.4800 |
| predicted_AVG | 0.2753 |
| predicted_BB | 0.4490 |
| predicted_H | 0.9580 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3629 |
| predicted_R | 0.4230 |
| predicted_RBI | 0.4540 |
| predicted_SLG | 0.4160 |
| predicted_SO | 0.4140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.2390 | 0.1712 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 3.7900 | 3.4800 | 3.6551 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2753 | 0.2700 | model_form_blend |
| predicted_BB | 0.3990 | 0.4490 | 0.4208 | model_form_blend |
| predicted_H | 1.0100 | 0.9580 | 0.9874 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.0900 | 0.0800 | 0.0856 | model_form_blend |
| predicted_OBP | 0.3650 | 0.3629 | 0.3641 | model_form_blend |
| predicted_R | 0.4620 | 0.4230 | 0.4450 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4540 | 0.4856 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4160 | 0.4041 | model_form_blend |
| predicted_SO | 0.3850 | 0.4140 | 0.3976 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 124 |
| Season rows before report date | 124 |
| Report year | 2026 |
| Profile rows used | 143 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 689414 |
| playerID | 689414 |
| playerName | Liam Hicks |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.352 |
| sl_xwoba | 0.319 |
| sl_xba | 0.261 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 27.1 |
| sl_exit_velocity_avg | 84.6 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 11.4 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.154 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.790 | 4.000 | 4.000 | Hitting_AB | 3.890 | 2.000 | 0.110 | 2.000 |
| predicted_AVG | 0.275 | 0.250 | 0.250 | Hitting_AVG | 0.284 | 0.000 | -0.034 | 0.250 |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.536 | 2.000 | -0.536 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.850 | 1.000 | 1.000 | Hitting_H | 1.105 | 0.000 | -0.105 | 1.000 |
| predicted_HR | 0.180 | 0.000 | 1.000 | Hitting_HR | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_OBP | 0.343 | 0.250 | 0.400 | Hitting_OBP | 0.373 | 0.500 | -0.123 | -0.250 |
| predicted_R | 0.617 | 1.000 | 1.000 | Hitting_R | 0.670 | 0.000 | 0.330 | 1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.673 | 0.000 | -0.673 | 0.000 |
| predicted_SLG | 0.473 | 0.250 | 1.000 | Hitting_SLG | 0.543 | 0.000 | -0.293 | 0.250 |
| predicted_SO | 0.796 | 0.000 | 1.000 | Hitting_SO | 0.789 | 1.000 | -0.789 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.6170 -> 1.0000 (boost 0.3830, better) |
| Biggest Deboost | predicted_SO: 0.7960 -> 0.0000 (deboost -0.7960, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.8500 -> 0.9096 (boost 0.0596, better) | predicted_AB: 3.7900 -> 3.7081 (deboost -0.0819, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4769 -> 0.4339 (deboost -0.0430, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5753 -> 1.0000 (boost 0.4247, better) | predicted_BB: 0.4886 -> 0.0000 (deboost -0.4886, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.208 HR/AB=0.050 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6173 -> 1.0000 (boost 0.3827, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3391 (boost 0.3391, better) | predicted_RBI: 1.0000 -> 0.5728 (deboost -0.4272, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 5 | 1 | 4 | 2 | predicted_HR: 0.2285 -> 1.0000 (boost 0.7715, better) | predicted_2B: 0.1467 -> 0.0000 (deboost -0.1467, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 5 | 1 | 4 | 1 | 4 | predicted_SLG: 0.4339 -> 0.4640 (boost 0.0301, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3030 -> 0.3298 (boost 0.0268, better) | predicted_SLG: 0.4640 -> 0.4339 (deboost -0.0301, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.006,
"predicted_AB": 3.79,
"predicted_AVG": 0.275,
"predicted_BB": 0.5,
"predicted_H": 0.85,
"predicted_HR": 0.18,
"predicted_OBP": 0.343,
"predicted_R": 0.617,
"predicted_RBI": 0.57,
"predicted_SLG": 0.473,
"predicted_SO": 0.796
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1356,
"predicted_3B": 0.0051,
"predicted_AB": 3.7081,
"predicted_AVG": 0.2744,
"predicted_BB": 0.4886,
"predicted_H": 0.9096,
"predicted_HBP": 0.015,
"predicted_HR": 0.1931,
"predicted_OBP": 0.3498,
"predicted_R": 0.6323,
"predicted_RBI": 0.5893,
"predicted_SLG": 0.4769,
"predicted_SO": 0.7907
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1356,
"delta": -0.0184,
"percent_delta": -0.1195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0051,
"delta": -0.0009,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 3.7081,
"delta": -0.0819,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2744,
"delta": -0.0006,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4886,
"delta": -0.0114,
"percent_delta": -0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.9096,
"delta": 0.0596,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1931,
"delta": 0.0131,
"percent_delta": 0.0728,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3498,
"delta": 0.0068,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 0.6323,
"delta": 0.0153,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5893,
"delta": 0.0193,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4769,
"delta": 0.0039,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.796,
"after": 0.7907,
"delta": -0.0053,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.9096,
"delta": 0.0596,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.79,
"after": 3.7081,
"delta": -0.0819,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 162
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1356,
"predicted_3B": 0.0051,
"predicted_AB": 3.7081,
"predicted_AVG": 0.2414,
"predicted_BB": 0.4886,
"predicted_H": 0.8953,
"predicted_HBP": 0.015,
"predicted_HR": 0.1893,
"predicted_OBP": 0.3298,
"predicted_R": 0.6173,
"predicted_RBI": 0.5753,
"predicted_SLG": 0.4339,
"predicted_SO": 0.7907
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1356,
"after": 0.1356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7081,
"after": 3.7081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2744,
"after": 0.2414,
"delta": -0.033,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4886,
"after": 0.4886,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9096,
"after": 0.8953,
"delta": -0.0143,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1931,
"after": 0.1893,
"delta": -0.0038,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3498,
"after": 0.3298,
"delta": -0.02,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6323,
"after": 0.6173,
"delta": -0.015,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5893,
"after": 0.5753,
"delta": -0.014,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4769,
"after": 0.4339,
"delta": -0.043,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7907,
"after": 0.7907,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4769,
"after": 0.4339,
"delta": -0.043,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.208 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1356,
"after": 0.0,
"delta": -0.1356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0,
"delta": -0.0051,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7081,
"after": 4.0,
"delta": 0.2919,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4886,
"after": 0.0,
"delta": -0.4886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8953,
"after": 1.0,
"delta": 0.1047,
"percent_delta": 0.1169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1893,
"after": 0.0,
"delta": -0.1893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5753,
"after": 1.0,
"delta": 0.4247,
"percent_delta": 0.7382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7907,
"after": 1.0,
"delta": 0.2093,
"percent_delta": 0.2647,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5753,
"after": 1.0,
"delta": 0.4247,
"percent_delta": 0.7382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4886,
"after": 0.0,
"delta": -0.4886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6173,
"after": 1.0,
"delta": 0.3827,
"percent_delta": 0.62,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6173,
"after": 1.0,
"delta": 0.3827,
"percent_delta": 0.62,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1467,
"predicted_3B": 0.0084,
"predicted_BB": 0.3391,
"predicted_H": 0.8522,
"predicted_HR": 0.2285,
"predicted_RBI": 0.5728,
"predicted_SO": 0.9009
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1467,
"delta": 0.1467,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0084,
"delta": 0.0084,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3391,
"delta": 0.3391,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8522,
"delta": -0.1478,
"percent_delta": -0.1478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2285,
"delta": 0.2285,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5728,
"delta": -0.4272,
"percent_delta": -0.4272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9009,
"delta": -0.0991,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3391,
"delta": 0.3391,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5728,
"delta": -0.4272,
"percent_delta": -0.4272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1467,
"after": 0.0,
"delta": -0.1467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0084,
"after": 0.0,
"delta": -0.0084,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3391,
"after": 1.0,
"delta": 0.6609,
"percent_delta": 1.949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8522,
"after": 1.0,
"delta": 0.1478,
"percent_delta": 0.1734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2285,
"after": 1.0,
"delta": 0.7715,
"percent_delta": 3.3764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5728,
"after": 1.0,
"delta": 0.4272,
"percent_delta": 0.7458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9009,
"after": 1.0,
"delta": 0.0991,
"percent_delta": 0.11,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.2285,
"after": 1.0,
"delta": 0.7715,
"percent_delta": 3.3764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1467,
"after": 0.0,
"delta": -0.1467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.232,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.464,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2414,
"after": 0.232,
"delta": -0.0094,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3298,
"after": 0.303,
"delta": -0.0268,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4339,
"after": 0.464,
"delta": 0.0301,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4339,
"after": 0.464,
"delta": 0.0301,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2414,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3298,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4339,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2414,
"delta": 0.0094,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3298,
"delta": 0.0268,
"percent_delta": 0.0883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.4339,
"delta": -0.0301,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3298,
"delta": 0.0268,
"percent_delta": 0.0883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.4339,
"delta": -0.0301,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 4.0,
"delta": 0.21,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2414,
"delta": -0.0336,
"percent_delta": -0.1222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3298,
"delta": -0.0132,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 1.0,
"delta": 0.383,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4339,
"delta": -0.0391,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.796,
"after": 0.0,
"delta": -0.796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.617,
"after": 1.0,
"delta": 0.383,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.796,
"after": 0.0,
"delta": -0.796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.617 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.473 | - |
| predicted_SO | 0.796 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | -0.018 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.708 | -0.082 |
| predicted_AVG | 0.274 | -0.001 |
| predicted_BB | 0.489 | -0.011 |
| predicted_H | 0.910 | 0.060 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.193 | 0.013 |
| predicted_OBP | 0.350 | 0.007 |
| predicted_R | 0.632 | 0.015 |
| predicted_RBI | 0.589 | 0.019 |
| predicted_SLG | 0.477 | 0.004 |
| predicted_SO | 0.791 | -0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.708 | 0.000 |
| predicted_AVG | 0.241 | -0.033 |
| predicted_BB | 0.489 | 0.000 |
| predicted_H | 0.895 | -0.014 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.189 | -0.004 |
| predicted_OBP | 0.330 | -0.020 |
| predicted_R | 0.617 | -0.015 |
| predicted_RBI | 0.575 | -0.014 |
| predicted_SLG | 0.434 | -0.043 |
| predicted_SO | 0.791 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.208 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.147 | 0.147 |
| 3B | 0.008 | 0.008 |
| BB | 0.339 | 0.339 |
| H | 0.852 | -0.148 |
| HR | 0.229 | 0.229 |
| RBI | 0.573 | -0.427 |
| SO | 0.901 | -0.099 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.147 |
| 3B | 0.000 | -0.008 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.661 |
| H | 1.000 | 0.148 |
| HR | 1.000 | 0.771 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.427 |
| SO | 1.000 | 0.099 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.136 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | 0.292 |
| predicted_AVG | 0.232 | -0.009 |
| predicted_BB | 0.000 | -0.489 |
| predicted_H | 1.000 | 0.105 |
| predicted_HR | 0.000 | -0.189 |
| predicted_OBP | 0.303 | -0.027 |
| predicted_R | 1.000 | 0.383 |
| predicted_RBI | 1.000 | 0.425 |
| predicted_SLG | 0.464 | 0.030 |
| predicted_SO | 1.000 | 0.209 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 3.000 | 4.000 | 0.3125 | 0.4211 | 0.5000 | 0.3125 | 0.0625 | 0.2500 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 1.000 | 0.000 | 1.000 | 4.000 | 6.000 | 3.000 | 7.000 | 0.2353 | 0.2973 | 0.3529 | 0.2353 | 0.0294 | 0.1177 | 0.0882 | 0.2059 |
| season | 0.60 | 162 | - | 614.000 | 169.000 | 25.000 | 1.000 | 42.000 | 101.000 | 100.000 | 81.000 | 129.000 | 0.2752 | 0.3618 | 0.5244 | 0.2752 | 0.0684 | 0.1645 | 0.1319 | 0.2101 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.6030 |
| predicted_AVG | 0.2736 |
| predicted_BB | 0.4740 |
| predicted_H | 0.9860 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.2100 |
| predicted_OBP | 0.3585 |
| predicted_R | 0.6520 |
| predicted_RBI | 0.6140 |
| predicted_SLG | 0.4820 |
| predicted_SO | 0.7840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1120 | 0.1356 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 3.7900 | 3.6030 | 3.7081 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2736 | 0.2744 | model_form_blend |
| predicted_BB | 0.5000 | 0.4740 | 0.4886 | model_form_blend |
| predicted_H | 0.8500 | 0.9860 | 0.9096 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1800 | 0.2100 | 0.1931 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3585 | 0.3498 | model_form_blend |
| predicted_R | 0.6170 | 0.6520 | 0.6323 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6140 | 0.5893 | model_form_blend |
| predicted_SLG | 0.4730 | 0.4820 | 0.4769 | model_form_blend |
| predicted_SO | 0.7960 | 0.7840 | 0.7907 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 673 |
| Season rows before report date | 673 |
| Report year | 2026 |
| Profile rows used | 162 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.375 |
| sl_xwoba | 0.364 |
| sl_xba | 0.273 |
| sl_xslg | 0.499 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 49.7 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.120 | 3.000 | 4.000 | Hitting_AB | 3.905 | 4.000 | -0.905 | -1.000 |
| predicted_AVG | 0.254 | 0.000 | 0.250 | Hitting_AVG | 0.283 | 0.250 | -0.283 | -0.250 |
| predicted_BB | 0.439 | 1.000 | 1.000 | Hitting_BB | 0.460 | 0.000 | 0.540 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.050 | 0.000 | 1.000 | Hitting_H | 1.106 | 1.000 | -1.106 | -1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.152 | 1.000 | -0.152 | -1.000 |
| predicted_OBP | 0.330 | 0.250 | 0.400 | Hitting_OBP | 0.364 | 0.250 | -0.114 | 0.000 |
| predicted_R | 0.477 | 0.000 | 0.000 | Hitting_R | 0.516 | 1.000 | -0.516 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.655 | 1.000 | -0.655 | -1.000 |
| predicted_SLG | 0.450 | 0.000 | 0.250 | Hitting_SLG | 0.445 | 1.000 | -0.445 | -1.000 |
| predicted_SO | 1.045 | 1.000 | 1.000 | Hitting_SO | 1.068 | 0.000 | -0.068 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.4390 -> 1.0000 (boost 0.5610, better) |
| Biggest Deboost | predicted_AB: 4.1200 -> 3.0000 (deboost -1.1200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0450 -> 1.0971 (boost 0.0521, worse) | predicted_AB: 4.1200 -> 3.9000 (deboost -0.2200, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3306 -> 0.3233 (deboost -0.0073, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_AB: 3.9000 -> 4.0000 (boost 0.1000, better) | predicted_RBI: 0.5210 -> 0.0000 (deboost -0.5210, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.205 HR/AB=0.047 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4272 -> 0.0000 (deboost -0.4272, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5208 (boost 0.5208, better) | predicted_H: 1.0000 -> 0.8482 (deboost -0.1518, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.3410 -> 1.0000 (boost 0.6590, better) | predicted_SO: 1.3158 -> 1.0000 (deboost -0.3158, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3830 -> 0.4432 (boost 0.0602, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0,
"predicted_AB": 4.12,
"predicted_AVG": 0.254,
"predicted_BB": 0.439,
"predicted_H": 1.05,
"predicted_HR": 0.22,
"predicted_OBP": 0.33,
"predicted_R": 0.477,
"predicted_RBI": 0.58,
"predicted_SLG": 0.45,
"predicted_SO": 1.045
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.0004,
"predicted_AB": 3.9,
"predicted_AVG": 0.2488,
"predicted_BB": 0.4473,
"predicted_H": 0.9735,
"predicted_HBP": 0.041,
"predicted_HR": 0.1977,
"predicted_OBP": 0.3306,
"predicted_R": 0.4376,
"predicted_RBI": 0.5336,
"predicted_SLG": 0.4454,
"predicted_SO": 1.0971
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.188,
"delta": 0.014,
"percent_delta": 0.0805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 3.9,
"delta": -0.22,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2488,
"delta": -0.0052,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.4473,
"delta": 0.0083,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.9735,
"delta": -0.0765,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.1977,
"delta": -0.0223,
"percent_delta": -0.1014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3306,
"delta": 0.0006,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.477,
"after": 0.4376,
"delta": -0.0394,
"percent_delta": -0.0826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5336,
"delta": -0.0464,
"percent_delta": -0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4454,
"delta": -0.0046,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.045,
"after": 1.0971,
"delta": 0.0521,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.045,
"after": 1.0971,
"delta": 0.0521,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 3.9,
"delta": -0.22,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 155
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.0004,
"predicted_AB": 3.9,
"predicted_AVG": 0.2457,
"predicted_BB": 0.4473,
"predicted_H": 0.9582,
"predicted_HBP": 0.041,
"predicted_HR": 0.1938,
"predicted_OBP": 0.3233,
"predicted_R": 0.4272,
"predicted_RBI": 0.521,
"predicted_SLG": 0.4432,
"predicted_SO": 1.0971
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 3.9,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2488,
"after": 0.2457,
"delta": -0.0031,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4473,
"after": 0.4473,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9735,
"after": 0.9582,
"delta": -0.0153,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1977,
"after": 0.1938,
"delta": -0.0039,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.3233,
"delta": -0.0073,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4376,
"after": 0.4272,
"delta": -0.0104,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5336,
"after": 0.521,
"delta": -0.0126,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4454,
"after": 0.4432,
"delta": -0.0022,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0971,
"after": 1.0971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.3233,
"delta": -0.0073,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.12), rates preserved: AVG=0.205 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4473,
"after": 0.0,
"delta": -0.4473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9582,
"after": 1.0,
"delta": 0.0418,
"percent_delta": 0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1938,
"after": 0.0,
"delta": -0.1938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.521,
"after": 0.0,
"delta": -0.521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0971,
"after": 1.0,
"delta": -0.0971,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.521,
"after": 0.0,
"delta": -0.521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4272,
"after": 0.0,
"delta": -0.4272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4272,
"after": 0.0,
"delta": -0.4272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0073,
"predicted_BB": 0.341,
"predicted_H": 0.8482,
"predicted_HR": 0.144,
"predicted_RBI": 0.5208,
"predicted_SO": 1.3158
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.174,
"delta": 0.174,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0073,
"delta": 0.0073,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.341,
"delta": 0.341,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8482,
"delta": -0.1518,
"percent_delta": -0.1518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.144,
"delta": 0.144,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5208,
"delta": 0.5208,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.3158,
"delta": 0.3158,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5208,
"delta": 0.5208,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8482,
"delta": -0.1518,
"percent_delta": -0.1518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0073,
"after": 0.0,
"delta": -0.0073,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 1.0,
"delta": 0.659,
"percent_delta": 1.9326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8482,
"after": 1.0,
"delta": 0.1518,
"percent_delta": 0.179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5208,
"after": 1.0,
"delta": 0.4792,
"percent_delta": 0.9201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3158,
"after": 1.0,
"delta": -0.3158,
"percent_delta": -0.24,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.341,
"after": 1.0,
"delta": 0.659,
"percent_delta": 1.9326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3158,
"after": 1.0,
"delta": -0.3158,
"percent_delta": -0.24,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.383,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2457,
"after": 0.221,
"delta": -0.0247,
"percent_delta": -0.1005,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3233,
"after": 0.29,
"delta": -0.0333,
"percent_delta": -0.103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4432,
"after": 0.383,
"delta": -0.0602,
"percent_delta": -0.1358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2457,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3233,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4432,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2457,
"delta": 0.0247,
"percent_delta": 0.1117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.3233,
"delta": 0.0333,
"percent_delta": 0.1149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.4432,
"delta": 0.0602,
"percent_delta": 0.1572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.4432,
"delta": 0.0602,
"percent_delta": 0.1572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 3.0,
"delta": -1.12,
"percent_delta": -0.2718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2457,
"delta": -0.0083,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 1.0,
"delta": 0.561,
"percent_delta": 1.2779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3233,
"delta": -0.0067,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.477,
"after": 0.0,
"delta": -0.477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4432,
"delta": -0.0068,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.045,
"after": 1.0,
"delta": -0.045,
"percent_delta": -0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.439,
"after": 1.0,
"delta": 0.561,
"percent_delta": 1.2779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 3.0,
"delta": -1.12,
"percent_delta": -0.2718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.439 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.477 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 1.045 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | 0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.900 | -0.220 |
| predicted_AVG | 0.249 | -0.005 |
| predicted_BB | 0.447 | 0.008 |
| predicted_H | 0.974 | -0.077 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.198 | -0.022 |
| predicted_OBP | 0.331 | 0.001 |
| predicted_R | 0.438 | -0.039 |
| predicted_RBI | 0.534 | -0.046 |
| predicted_SLG | 0.445 | -0.005 |
| predicted_SO | 1.097 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.900 | 0.000 |
| predicted_AVG | 0.246 | -0.003 |
| predicted_BB | 0.447 | 0.000 |
| predicted_H | 0.958 | -0.015 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.194 | -0.004 |
| predicted_OBP | 0.323 | -0.007 |
| predicted_R | 0.427 | -0.010 |
| predicted_RBI | 0.521 | -0.013 |
| predicted_SLG | 0.443 | -0.002 |
| predicted_SO | 1.097 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.205 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.174 | 0.174 |
| 3B | 0.007 | 0.007 |
| BB | 0.341 | 0.341 |
| H | 0.848 | -0.152 |
| HR | 0.144 | 0.144 |
| RBI | 0.521 | 0.521 |
| SO | 1.316 | 0.316 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.174 |
| 3B | 0.000 | -0.007 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.659 |
| H | 1.000 | 0.152 |
| HR | 0.000 | -0.144 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.479 |
| SO | 1.000 | -0.316 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.188 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.100 |
| predicted_AVG | 0.221 | -0.025 |
| predicted_BB | 0.000 | -0.447 |
| predicted_H | 1.000 | 0.042 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.290 | -0.033 |
| predicted_R | 0.000 | -0.427 |
| predicted_RBI | 0.000 | -0.521 |
| predicted_SLG | 0.383 | -0.060 |
| predicted_SO | 1.000 | -0.097 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 7.000 | 0.1765 | 0.3000 | 0.4118 | 0.1765 | 0.0588 | 0.0588 | 0.1765 | 0.4118 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 3.000 | 0.000 | 2.000 | 4.000 | 3.000 | 4.000 | 13.000 | 0.2059 | 0.2895 | 0.4706 | 0.2059 | 0.0588 | 0.1177 | 0.1177 | 0.3824 |
| season | 0.60 | 155 | - | 581.000 | 160.000 | 27.000 | 0.000 | 23.000 | 93.000 | 74.000 | 68.000 | 162.000 | 0.2754 | 0.3578 | 0.4406 | 0.2754 | 0.0396 | 0.1601 | 0.1170 | 0.2788 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6170 |
| predicted_AVG | 0.2420 |
| predicted_BB | 0.4580 |
| predicted_H | 0.8750 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.1690 |
| predicted_OBP | 0.3314 |
| predicted_R | 0.3870 |
| predicted_RBI | 0.4740 |
| predicted_SLG | 0.4394 |
| predicted_SO | 1.1640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.2060 | 0.1880 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1200 | 3.6170 | 3.9000 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2420 | 0.2488 | model_form_blend |
| predicted_BB | 0.4390 | 0.4580 | 0.4473 | model_form_blend |
| predicted_H | 1.0500 | 0.8750 | 0.9735 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.2200 | 0.1690 | 0.1977 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3314 | 0.3306 | model_form_blend |
| predicted_R | 0.4770 | 0.3870 | 0.4376 | model_form_blend |
| predicted_RBI | 0.5800 | 0.4740 | 0.5336 | model_form_blend |
| predicted_SLG | 0.4500 | 0.4394 | 0.4454 | model_form_blend |
| predicted_SO | 1.0450 | 1.1640 | 1.0971 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 643 |
| Season rows before report date | 643 |
| Report year | 2026 |
| Profile rows used | 155 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.348 |
| sl_xwoba | 0.343 |
| sl_xba | 0.254 |
| sl_xslg | 0.438 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 5.320 | 4.000 | 4.000 | Hitting_AB | 4.076 | 4.000 | -0.076 | 0.000 |
| predicted_AVG | 0.269 | 0.250 | 0.250 | Hitting_AVG | 0.299 | 0.250 | -0.049 | 0.000 |
| predicted_BB | 0.364 | 1.000 | 0.000 | Hitting_BB | 0.363 | 0.000 | 0.637 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.430 | 1.000 | 1.000 | Hitting_H | 1.218 | 1.000 | -0.218 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.351 | 0.400 | 0.250 | Hitting_OBP | 0.363 | 0.250 | 0.037 | 0.150 |
| predicted_R | 0.604 | 1.000 | 1.000 | Hitting_R | 0.613 | 0.000 | 0.387 | 1.000 |
| predicted_RBI | 0.640 | 2.000 | 1.000 | Hitting_RBI | 0.579 | 0.000 | 1.421 | 2.000 |
| predicted_SLG | 0.413 | 0.250 | 0.250 | Hitting_SLG | 0.455 | 0.250 | -0.205 | 0.000 |
| predicted_SO | 0.630 | 0.000 | 1.000 | Hitting_SO | 0.640 | 0.000 | -0.640 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.6400 -> 2.0000 (boost 1.3600, better) |
| Biggest Deboost | predicted_AB: 5.3200 -> 4.0000 (deboost -1.3200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 2 | 3 | predicted_AVG: 0.2690 -> 0.2787 (boost 0.0097, better) | predicted_AB: 5.3200 -> 4.7522 (deboost -0.5678, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4072 -> 0.3756 (deboost -0.0316, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.5727 -> 1.0000 (boost 0.4273, worse) | predicted_AB: 4.7522 -> 4.0000 (deboost -0.7522, worse) | AB rounded to 4 (raw=5.32), rates preserved: AVG=0.215 HR/AB=0.020 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6269 -> 1.0000 (boost 0.3731, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5253 (boost 0.5253, better) | predicted_SO: 1.0000 -> 0.8809 (deboost -0.1191, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.5253 -> 1.0000 (boost 0.4747, better) | predicted_BB: 0.2799 -> 0.0000 (deboost -0.2799, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2330 -> 0.2727 (boost 0.0397, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.006,
"predicted_AB": 5.32,
"predicted_AVG": 0.269,
"predicted_BB": 0.364,
"predicted_H": 1.43,
"predicted_HR": 0.12,
"predicted_OBP": 0.351,
"predicted_R": 0.604,
"predicted_RBI": 0.64,
"predicted_SLG": 0.413,
"predicted_SO": 0.63
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1659,
"predicted_3B": 0.0051,
"predicted_AB": 4.7522,
"predicted_AVG": 0.2787,
"predicted_BB": 0.3517,
"predicted_H": 1.3166,
"predicted_HBP": 0.039,
"predicted_HR": 0.1064,
"predicted_OBP": 0.3508,
"predicted_R": 0.6421,
"predicted_RBI": 0.6072,
"predicted_SLG": 0.4072,
"predicted_SO": 0.5727
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1659,
"delta": -0.0031,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0051,
"delta": -0.0009,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.32,
"after": 4.7522,
"delta": -0.5678,
"percent_delta": -0.1067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2787,
"delta": 0.0097,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.3517,
"delta": -0.0123,
"percent_delta": -0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.3166,
"delta": -0.1134,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1064,
"delta": -0.0136,
"percent_delta": -0.1133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3508,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.6421,
"delta": 0.0381,
"percent_delta": 0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6072,
"delta": -0.0328,
"percent_delta": -0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4072,
"delta": -0.0058,
"percent_delta": -0.014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 0.5727,
"delta": -0.0573,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2787,
"delta": 0.0097,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.32,
"after": 4.7522,
"delta": -0.5678,
"percent_delta": -0.1067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 154
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1659,
"predicted_3B": 0.0051,
"predicted_AB": 4.7522,
"predicted_AVG": 0.2727,
"predicted_BB": 0.3517,
"predicted_H": 1.2959,
"predicted_HBP": 0.039,
"predicted_HR": 0.1043,
"predicted_OBP": 0.3228,
"predicted_R": 0.6269,
"predicted_RBI": 0.5928,
"predicted_SLG": 0.3756,
"predicted_SO": 0.5727
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1659,
"after": 0.1659,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7522,
"after": 4.7522,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2787,
"after": 0.2727,
"delta": -0.006,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3517,
"after": 0.3517,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3166,
"after": 1.2959,
"delta": -0.0207,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1064,
"after": 0.1043,
"delta": -0.0021,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3508,
"after": 0.3228,
"delta": -0.028,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6421,
"after": 0.6269,
"delta": -0.0152,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6072,
"after": 0.5928,
"delta": -0.0144,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4072,
"after": 0.3756,
"delta": -0.0316,
"percent_delta": -0.0776,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5727,
"after": 0.5727,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4072,
"after": 0.3756,
"delta": -0.0316,
"percent_delta": -0.0776,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=5.32), rates preserved: AVG=0.215 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1659,
"after": 0.0,
"delta": -0.1659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0051,
"after": 0.0,
"delta": -0.0051,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7522,
"after": 4.0,
"delta": -0.7522,
"percent_delta": -0.1583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3517,
"after": 0.0,
"delta": -0.3517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2959,
"after": 1.0,
"delta": -0.2959,
"percent_delta": -0.2283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1043,
"after": 0.0,
"delta": -0.1043,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5928,
"after": 0.0,
"delta": -0.5928,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5727,
"after": 1.0,
"delta": 0.4273,
"percent_delta": 0.7461,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5727,
"after": 1.0,
"delta": 0.4273,
"percent_delta": 0.7461,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.7522,
"after": 4.0,
"delta": -0.7522,
"percent_delta": -0.1583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6269,
"after": 1.0,
"delta": 0.3731,
"percent_delta": 0.5952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6269,
"after": 1.0,
"delta": 0.3731,
"percent_delta": 0.5952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1666,
"predicted_3B": 0.0094,
"predicted_BB": 0.2799,
"predicted_H": 0.949,
"predicted_HR": 0.1393,
"predicted_RBI": 0.5253,
"predicted_SO": 0.8809
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1666,
"delta": 0.1666,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0094,
"delta": 0.0094,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2799,
"delta": 0.2799,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.949,
"delta": -0.051,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1393,
"delta": 0.1393,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5253,
"delta": 0.5253,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8809,
"delta": -0.1191,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5253,
"delta": 0.5253,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8809,
"delta": -0.1191,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1666,
"after": 0.0,
"delta": -0.1666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0094,
"after": 0.0,
"delta": -0.0094,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2799,
"after": 0.0,
"delta": -0.2799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.949,
"after": 1.0,
"delta": 0.051,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1393,
"after": 0.0,
"delta": -0.1393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5253,
"after": 1.0,
"delta": 0.4747,
"percent_delta": 0.9037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8809,
"after": 1.0,
"delta": 0.1191,
"percent_delta": 0.1352,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5253,
"after": 1.0,
"delta": 0.4747,
"percent_delta": 0.9037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2799,
"after": 0.0,
"delta": -0.2799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.233,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.38,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2727,
"after": 0.233,
"delta": -0.0397,
"percent_delta": -0.1456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3228,
"after": 0.288,
"delta": -0.0348,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3756,
"after": 0.38,
"delta": 0.0044,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2727,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3228,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3756,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2727,
"delta": 0.0397,
"percent_delta": 0.1704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.3228,
"delta": 0.0348,
"percent_delta": 0.1209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3756,
"delta": -0.0044,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2727,
"delta": 0.0397,
"percent_delta": 0.1704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.32,
"after": 4.0,
"delta": -1.32,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2727,
"delta": 0.0037,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 1.0,
"delta": 0.636,
"percent_delta": 1.7473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.0,
"delta": -0.43,
"percent_delta": -0.3007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3228,
"delta": -0.0282,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.3756,
"delta": -0.0374,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.32,
"after": 4.0,
"delta": -1.32,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 5.320 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 1.430 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.604 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.630 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | -0.003 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 4.752 | -0.568 |
| predicted_AVG | 0.279 | 0.010 |
| predicted_BB | 0.352 | -0.012 |
| predicted_H | 1.317 | -0.113 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.106 | -0.014 |
| predicted_OBP | 0.351 | -0.000 |
| predicted_R | 0.642 | 0.038 |
| predicted_RBI | 0.607 | -0.033 |
| predicted_SLG | 0.407 | -0.006 |
| predicted_SO | 0.573 | -0.057 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 4.752 | 0.000 |
| predicted_AVG | 0.273 | -0.006 |
| predicted_BB | 0.352 | 0.000 |
| predicted_H | 1.296 | -0.021 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.104 | -0.002 |
| predicted_OBP | 0.323 | -0.028 |
| predicted_R | 0.627 | -0.015 |
| predicted_RBI | 0.593 | -0.014 |
| predicted_SLG | 0.376 | -0.032 |
| predicted_SO | 0.573 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=5.32), rates preserved: AVG=0.215 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.167 | 0.167 |
| 3B | 0.009 | 0.009 |
| BB | 0.280 | 0.280 |
| H | 0.949 | -0.051 |
| HR | 0.139 | 0.139 |
| RBI | 0.525 | 0.525 |
| SO | 0.881 | -0.119 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.167 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.280 |
| H | 1.000 | 0.051 |
| HR | 0.000 | -0.139 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.475 |
| SO | 1.000 | 0.119 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.166 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | -0.752 |
| predicted_AVG | 0.233 | -0.040 |
| predicted_BB | 0.000 | -0.352 |
| predicted_H | 1.000 | -0.296 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.288 | -0.035 |
| predicted_R | 1.000 | 0.373 |
| predicted_RBI | 0.000 | -0.593 |
| predicted_SLG | 0.380 | 0.004 |
| predicted_SO | 1.000 | 0.427 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 8.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 1.000 | 0.000 | 0.3810 | 0.4091 | 0.4286 | 0.3810 | 0.0000 | 0.1905 | 0.0476 | 0.0000 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 1.000 | 0.000 | 0.000 | 4.000 | 7.000 | 4.000 | 5.000 | 0.2000 | 0.2727 | 0.2250 | 0.2000 | 0.0000 | 0.1000 | 0.1000 | 0.1250 |
| season | 0.60 | 154 | - | 614.000 | 181.000 | 26.000 | 1.000 | 22.000 | 85.000 | 93.000 | 56.000 | 97.000 | 0.2948 | 0.3601 | 0.4479 | 0.2948 | 0.0358 | 0.1384 | 0.0912 | 0.1580 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0040 |
| predicted_AB | 4.0230 |
| predicted_AVG | 0.2912 |
| predicted_BB | 0.3360 |
| predicted_H | 1.1710 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.3505 |
| predicted_R | 0.6910 |
| predicted_RBI | 0.5650 |
| predicted_SLG | 0.3998 |
| predicted_SO | 0.4990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1620 | 0.1659 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 5.3200 | 4.0230 | 4.7522 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2912 | 0.2787 | model_form_blend |
| predicted_BB | 0.3640 | 0.3360 | 0.3517 | model_form_blend |
| predicted_H | 1.4300 | 1.1710 | 1.3166 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1200 | 0.0890 | 0.1064 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3505 | 0.3508 | model_form_blend |
| predicted_R | 0.6040 | 0.6910 | 0.6421 | model_form_blend |
| predicted_RBI | 0.6400 | 0.5650 | 0.6072 | model_form_blend |
| predicted_SLG | 0.4130 | 0.3998 | 0.4072 | model_form_blend |
| predicted_SO | 0.6300 | 0.4990 | 0.5727 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 662 |
| Season rows before report date | 662 |
| Report year | 2026 |
| Profile rows used | 154 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 650490 |
| playerID | 650490 |
| playerName | Yandy Díaz |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.35 |
| sl_xwoba | 0.346 |
| sl_xba | 0.281 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 48.1 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 6.0 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 47.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 1.000 | Hitting_2B | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.356 | 4.000 | 4.000 | Hitting_AB | 3.673 | 3.000 | 0.327 | 1.000 |
| predicted_AVG | 0.266 | 0.250 | 0.250 | Hitting_AVG | 0.278 | 0.000 | -0.028 | 0.250 |
| predicted_BB | 0.163 | 0.000 | 0.000 | Hitting_BB | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.894 | 1.000 | 1.000 | Hitting_H | 1.023 | 0.000 | -0.023 | 1.000 |
| predicted_HR | 0.106 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.250 | Hitting_OBP | 0.312 | 0.000 | -0.062 | 0.250 |
| predicted_R | 0.413 | 0.000 | 0.000 | Hitting_R | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_RBI | 0.481 | 0.000 | 0.000 | Hitting_RBI | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_SLG | 0.430 | 0.250 | 0.500 | Hitting_SLG | 0.440 | 0.000 | -0.190 | 0.250 |
| predicted_SO | 0.760 | 1.000 | 1.000 | Hitting_SO | 0.762 | 1.000 | 0.238 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.3560 -> 4.0000 (boost 0.6440, better) |
| Biggest Deboost | predicted_RBI: 0.4810 -> 0.0000 (deboost -0.4810, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4300 -> 0.4537 (boost 0.0237, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4537 -> 0.4473 (deboost -0.0064, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.3932 -> 4.0000 (boost 0.6068, better) | predicted_2B: 0.2177 -> 0.0000 (deboost -0.2177, worse) | AB rounded to 4 (raw=3.39), rates preserved: AVG=0.233 HR/AB=0.039 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4186 -> 0.0000 (deboost -0.4186, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_2B: 0.0000 -> 0.1892 (boost 0.1892, better) | predicted_RBI: 1.0000 -> 0.5028 (deboost -0.4972, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 5 | 2 | 3 | 2 | 3 | predicted_2B: 0.1892 -> 1.0000 (boost 0.8108, better) | predicted_RBI: 0.5028 -> 0.0000 (deboost -0.5028, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 5 | 1 | 4 | 1 | 4 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3930 -> 0.4473 (boost 0.0543, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"position": "CF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.0,
"predicted_AB": 3.356,
"predicted_AVG": 0.266,
"predicted_BB": 0.163,
"predicted_H": 0.894,
"predicted_HR": 0.106,
"predicted_OBP": 0.301,
"predicted_R": 0.413,
"predicted_RBI": 0.481,
"predicted_SLG": 0.43,
"predicted_SO": 0.76
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2177,
"predicted_3B": 0.0004,
"predicted_AB": 3.3932,
"predicted_AVG": 0.2687,
"predicted_BB": 0.2101,
"predicted_H": 0.9124,
"predicted_HBP": 0.002,
"predicted_HR": 0.1364,
"predicted_OBP": 0.3114,
"predicted_R": 0.4288,
"predicted_RBI": 0.4998,
"predicted_SLG": 0.4537,
"predicted_SO": 0.7934
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2177,
"delta": -0.0133,
"percent_delta": -0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.356,
"after": 3.3932,
"delta": 0.0372,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2687,
"delta": 0.0027,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.2101,
"delta": 0.0471,
"percent_delta": 0.289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.894,
"after": 0.9124,
"delta": 0.0184,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.106,
"after": 0.1364,
"delta": 0.0304,
"percent_delta": 0.2868,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3114,
"delta": 0.0104,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.4288,
"delta": 0.0158,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.481,
"after": 0.4998,
"delta": 0.0188,
"percent_delta": 0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4537,
"delta": 0.0237,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.76,
"after": 0.7934,
"delta": 0.0334,
"percent_delta": 0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4537,
"delta": 0.0237,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 104
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2177,
"predicted_3B": 0.0004,
"predicted_AB": 3.3932,
"predicted_AVG": 0.2647,
"predicted_BB": 0.2101,
"predicted_H": 0.8981,
"predicted_HBP": 0.002,
"predicted_HR": 0.1337,
"predicted_OBP": 0.3075,
"predicted_R": 0.4186,
"predicted_RBI": 0.488,
"predicted_SLG": 0.4473,
"predicted_SO": 0.7934
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2177,
"after": 0.2177,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3932,
"after": 3.3932,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2687,
"after": 0.2647,
"delta": -0.004,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2101,
"after": 0.2101,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9124,
"after": 0.8981,
"delta": -0.0143,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1364,
"after": 0.1337,
"delta": -0.0027,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3114,
"after": 0.3075,
"delta": -0.0039,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4288,
"after": 0.4186,
"delta": -0.0102,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4998,
"after": 0.488,
"delta": -0.0118,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4537,
"after": 0.4473,
"delta": -0.0064,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7934,
"after": 0.7934,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4537,
"after": 0.4473,
"delta": -0.0064,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.39), rates preserved: AVG=0.233 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2177,
"after": 0.0,
"delta": -0.2177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3932,
"after": 4.0,
"delta": 0.6068,
"percent_delta": 0.1788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2101,
"after": 0.0,
"delta": -0.2101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8981,
"after": 1.0,
"delta": 0.1019,
"percent_delta": 0.1135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1337,
"after": 0.0,
"delta": -0.1337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7934,
"after": 1.0,
"delta": 0.2066,
"percent_delta": 0.2604,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.3932,
"after": 4.0,
"delta": 0.6068,
"percent_delta": 0.1788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2177,
"after": 0.0,
"delta": -0.2177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4186,
"after": 0.0,
"delta": -0.4186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4186,
"after": 0.0,
"delta": -0.4186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1892,
"predicted_3B": 0.0086,
"predicted_BB": 0.169,
"predicted_H": 0.8232,
"predicted_HR": 0.1262,
"predicted_RBI": 0.5028,
"predicted_SO": 1.0388
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1892,
"delta": 0.1892,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0086,
"delta": 0.0086,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.169,
"delta": 0.169,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8232,
"delta": -0.1768,
"percent_delta": -0.1768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1262,
"delta": 0.1262,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5028,
"delta": -0.4972,
"percent_delta": -0.4972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0388,
"delta": 0.0388,
"percent_delta": 0.0388,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1892,
"delta": 0.1892,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5028,
"delta": -0.4972,
"percent_delta": -0.4972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1892,
"after": 1.0,
"delta": 0.8108,
"percent_delta": 4.2854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0086,
"after": 0.0,
"delta": -0.0086,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8232,
"after": 1.0,
"delta": 0.1768,
"percent_delta": 0.2148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1262,
"after": 0.0,
"delta": -0.1262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5028,
"after": 0.0,
"delta": -0.5028,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0388,
"after": 1.0,
"delta": -0.0388,
"percent_delta": -0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.1892,
"after": 1.0,
"delta": 0.8108,
"percent_delta": 4.2854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5028,
"after": 0.0,
"delta": -0.5028,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.23,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.271,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.393,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2647,
"after": 0.23,
"delta": -0.0347,
"percent_delta": -0.1311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3075,
"after": 0.271,
"delta": -0.0365,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4473,
"after": 0.393,
"delta": -0.0543,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2647,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3075,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4473,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2647,
"delta": 0.0347,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.3075,
"delta": 0.0365,
"percent_delta": 0.1349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.4473,
"delta": 0.0543,
"percent_delta": 0.1382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.4473,
"delta": 0.0543,
"percent_delta": 0.1382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.356,
"after": 4.0,
"delta": 0.644,
"percent_delta": 0.1919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2647,
"delta": -0.0013,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.894,
"after": 1.0,
"delta": 0.106,
"percent_delta": 0.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3075,
"delta": 0.0065,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.0,
"delta": -0.413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4473,
"delta": 0.0173,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.356,
"after": 4.0,
"delta": 0.644,
"percent_delta": 0.1919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.356 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.163 | - |
| predicted_H | 0.894 | - |
| predicted_HR | 0.106 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.413 | - |
| predicted_RBI | 0.481 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.760 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | -0.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.393 | 0.037 |
| predicted_AVG | 0.269 | 0.003 |
| predicted_BB | 0.210 | 0.047 |
| predicted_H | 0.912 | 0.018 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.136 | 0.030 |
| predicted_OBP | 0.311 | 0.010 |
| predicted_R | 0.429 | 0.016 |
| predicted_RBI | 0.500 | 0.019 |
| predicted_SLG | 0.454 | 0.024 |
| predicted_SO | 0.793 | 0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.393 | 0.000 |
| predicted_AVG | 0.265 | -0.004 |
| predicted_BB | 0.210 | 0.000 |
| predicted_H | 0.898 | -0.014 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.134 | -0.003 |
| predicted_OBP | 0.307 | -0.004 |
| predicted_R | 0.419 | -0.010 |
| predicted_RBI | 0.488 | -0.012 |
| predicted_SLG | 0.447 | -0.006 |
| predicted_SO | 0.793 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.39), rates preserved: AVG=0.233 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.189 | 0.189 |
| 3B | 0.009 | 0.009 |
| BB | 0.169 | 0.169 |
| H | 0.823 | -0.177 |
| HR | 0.126 | 0.126 |
| RBI | 0.503 | -0.497 |
| SO | 1.039 | 0.039 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.811 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.169 |
| H | 1.000 | 0.177 |
| HR | 0.000 | -0.126 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.503 |
| SO | 1.000 | -0.039 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.218 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.607 |
| predicted_AVG | 0.230 | -0.035 |
| predicted_BB | 0.000 | -0.210 |
| predicted_H | 1.000 | 0.102 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.271 | -0.036 |
| predicted_R | 0.000 | -0.419 |
| predicted_RBI | 1.000 | 0.512 |
| predicted_SLG | 0.393 | -0.054 |
| predicted_SO | 1.000 | 0.207 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 3.000 | 4.000 | 0.2778 | 0.3810 | 0.6111 | 0.2778 | 0.1111 | 0.1667 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 3.000 | 0.000 | 2.000 | 6.000 | 4.000 | 3.000 | 11.000 | 0.2941 | 0.3514 | 0.5588 | 0.2941 | 0.0588 | 0.1765 | 0.0882 | 0.3235 |
| season | 0.60 | 104 | - | 349.000 | 93.000 | 24.000 | 0.000 | 11.000 | 50.000 | 43.000 | 17.000 | 79.000 | 0.2665 | 0.3005 | 0.4298 | 0.2665 | 0.0315 | 0.1433 | 0.0487 | 0.2264 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4430 |
| predicted_AVG | 0.2723 |
| predicted_BB | 0.2730 |
| predicted_H | 0.9370 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1770 |
| predicted_OBP | 0.3252 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.5250 |
| predicted_SLG | 0.4855 |
| predicted_SO | 0.8380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2000 | 0.2177 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3560 | 3.4430 | 3.3932 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2723 | 0.2687 | model_form_blend |
| predicted_BB | 0.1630 | 0.2730 | 0.2101 | model_form_blend |
| predicted_H | 0.8940 | 0.9370 | 0.9124 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1060 | 0.1770 | 0.1364 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3252 | 0.3114 | model_form_blend |
| predicted_R | 0.4130 | 0.4500 | 0.4288 | model_form_blend |
| predicted_RBI | 0.4810 | 0.5250 | 0.4998 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4855 | 0.4537 | model_form_blend |
| predicted_SO | 0.7600 | 0.8380 | 0.7934 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 349 |
| Season rows before report date | 349 |
| Report year | 2026 |
| Profile rows used | 104 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 676356 |
| playerID | 676356 |
| playerName | Jonny DeLuca |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.261 |
| sl_xba | 0.232 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 30.2 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.126 | 0.000 | 0.000 | Hitting_2B | 0.130 | 1.000 | -0.130 | -1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 2.924 | 3.000 | 3.000 | Hitting_AB | 3.158 | 3.000 | -0.158 | 0.000 |
| predicted_AVG | 0.255 | 0.000 | 0.000 | Hitting_AVG | 0.245 | 0.333 | -0.245 | -0.333 |
| predicted_BB | 0.387 | 0.000 | 0.000 | Hitting_BB | 0.465 | 0.000 | -0.465 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.640 | 0.000 | 0.000 | Hitting_H | 0.774 | 1.000 | -0.774 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.330 | 0.250 | 0.000 | Hitting_OBP | 0.347 | 0.333 | -0.097 | -0.083 |
| predicted_R | 0.403 | 0.000 | 0.000 | Hitting_R | 0.496 | 0.000 | -0.496 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.517 | 0.000 | -0.517 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_SLG | 0.406 | 0.000 | 0.000 | Hitting_SLG | 0.397 | 0.667 | -0.397 | -0.667 |
| predicted_SO | 0.571 | 1.000 | 1.000 | Hitting_SO | 0.626 | 0.000 | 0.374 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.5710 -> 1.0000 (boost 0.4290, worse) |
| Biggest Deboost | predicted_H: 0.6400 -> 0.0000 (deboost -0.6400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_H: 0.6400 -> 0.6933 (boost 0.0533, better) | predicted_R: 0.4030 -> 0.3506 (deboost -0.0524, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3965 -> 0.3464 (deboost -0.0501, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.4999 -> 1.0000 (boost 0.5001, better) | predicted_BB: 0.3870 -> 0.0000 (deboost -0.3870, worse) | AB rounded to 3 (raw=2.97), rates preserved: AVG=0.203 HR/AB=0.017 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3423 -> 0.0000 (deboost -0.3423, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3055 (boost 0.3055, better) | predicted_RBI: 1.0000 -> 0.4766 (deboost -0.5234, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.6952 -> 1.0000 (boost 0.3048, worse) | predicted_H: 0.6991 -> 0.0000 (deboost -0.6991, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 5 | 3 | 2 | 3 | 2 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_OBP: 0.3185 -> 0.2960 (deboost -0.0225, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2960 -> 0.3185 (boost 0.0225, better) | predicted_SLG: 0.3670 -> 0.3464 (deboost -0.0206, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680700",
"player_name": "Richie Palacios",
"position": "2B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.126,
"predicted_3B": 0.017,
"predicted_AB": 2.924,
"predicted_AVG": 0.255,
"predicted_BB": 0.387,
"predicted_H": 0.64,
"predicted_HR": 0.05,
"predicted_OBP": 0.33,
"predicted_R": 0.403,
"predicted_RBI": 0.46,
"predicted_SLG": 0.406,
"predicted_SO": 0.571
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1629,
"predicted_3B": 0.0144,
"predicted_AB": 2.9704,
"predicted_AVG": 0.2537,
"predicted_BB": 0.387,
"predicted_H": 0.6933,
"predicted_HBP": 0.021,
"predicted_HR": 0.0526,
"predicted_OBP": 0.3343,
"predicted_R": 0.3506,
"predicted_RBI": 0.512,
"predicted_SLG": 0.3965,
"predicted_SO": 0.5603
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.126,
"after": 0.1629,
"delta": 0.0369,
"percent_delta": 0.2929,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0144,
"delta": -0.0026,
"percent_delta": -0.1529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.924,
"after": 2.9704,
"delta": 0.0464,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2537,
"delta": -0.0013,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6933,
"delta": 0.0533,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0526,
"delta": 0.0026,
"percent_delta": 0.052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3343,
"delta": 0.0043,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.403,
"after": 0.3506,
"delta": -0.0524,
"percent_delta": -0.13,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.512,
"delta": 0.052,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3965,
"delta": -0.0095,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.571,
"after": 0.5603,
"delta": -0.0107,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.64,
"after": 0.6933,
"delta": 0.0533,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.403,
"after": 0.3506,
"delta": -0.0524,
"percent_delta": -0.13,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 119
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1629,
"predicted_3B": 0.0144,
"predicted_AB": 2.9704,
"predicted_AVG": 0.2297,
"predicted_BB": 0.387,
"predicted_H": 0.6824,
"predicted_HBP": 0.021,
"predicted_HR": 0.0516,
"predicted_OBP": 0.3185,
"predicted_R": 0.3423,
"predicted_RBI": 0.4999,
"predicted_SLG": 0.3464,
"predicted_SO": 0.5603
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1629,
"after": 0.1629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0144,
"after": 0.0144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9704,
"after": 2.9704,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2537,
"after": 0.2297,
"delta": -0.024,
"percent_delta": -0.0946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6933,
"after": 0.6824,
"delta": -0.0109,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0526,
"after": 0.0516,
"delta": -0.001,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3343,
"after": 0.3185,
"delta": -0.0158,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3506,
"after": 0.3423,
"delta": -0.0083,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.512,
"after": 0.4999,
"delta": -0.0121,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3965,
"after": 0.3464,
"delta": -0.0501,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5603,
"after": 0.5603,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3965,
"after": 0.3464,
"delta": -0.0501,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.97), rates preserved: AVG=0.203 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1629,
"after": 0.0,
"delta": -0.1629,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0144,
"after": 0.0,
"delta": -0.0144,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9704,
"after": 3.0,
"delta": 0.0296,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6824,
"after": 1.0,
"delta": 0.3176,
"percent_delta": 0.4654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0516,
"after": 0.0,
"delta": -0.0516,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4999,
"after": 1.0,
"delta": 0.5001,
"percent_delta": 1.0004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5603,
"after": 1.0,
"delta": 0.4397,
"percent_delta": 0.7848,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4999,
"after": 1.0,
"delta": 0.5001,
"percent_delta": 1.0004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3423,
"after": 0.0,
"delta": -0.3423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3423,
"after": 0.0,
"delta": -0.3423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1425,
"predicted_3B": 0.0116,
"predicted_BB": 0.3055,
"predicted_H": 0.6991,
"predicted_HR": 0.0979,
"predicted_RBI": 0.4766,
"predicted_SO": 0.6952
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1425,
"delta": 0.1425,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0116,
"delta": 0.0116,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3055,
"delta": 0.3055,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6991,
"delta": -0.3009,
"percent_delta": -0.3009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0979,
"delta": 0.0979,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4766,
"delta": -0.5234,
"percent_delta": -0.5234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6952,
"delta": -0.3048,
"percent_delta": -0.3048,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3055,
"delta": 0.3055,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4766,
"delta": -0.5234,
"percent_delta": -0.5234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1425,
"after": 0.0,
"delta": -0.1425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0116,
"after": 0.0,
"delta": -0.0116,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3055,
"after": 0.0,
"delta": -0.3055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6991,
"after": 0.0,
"delta": -0.6991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0979,
"after": 0.0,
"delta": -0.0979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4766,
"after": 0.0,
"delta": -0.4766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6952,
"after": 1.0,
"delta": 0.3048,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6952,
"after": 1.0,
"delta": 0.3048,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6991,
"after": 0.0,
"delta": -0.6991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.367,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2297,
"after": 0.222,
"delta": -0.0077,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3185,
"after": 0.296,
"delta": -0.0225,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3464,
"after": 0.367,
"delta": 0.0206,
"percent_delta": 0.0595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3185,
"after": 0.296,
"delta": -0.0225,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2297,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3185,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3464,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2297,
"delta": 0.0077,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3185,
"delta": 0.0225,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3464,
"delta": -0.0206,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3185,
"delta": 0.0225,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3464,
"delta": -0.0206,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.126,
"after": 0.0,
"delta": -0.126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.924,
"after": 3.0,
"delta": 0.076,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2297,
"delta": -0.0253,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3185,
"delta": -0.0115,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3464,
"delta": -0.0596,
"percent_delta": -0.1468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.126 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 2.924 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.403 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.571 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.037 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 2.970 | 0.046 |
| predicted_AVG | 0.254 | -0.001 |
| predicted_BB | 0.387 | 0.000 |
| predicted_H | 0.693 | 0.053 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.053 | 0.003 |
| predicted_OBP | 0.334 | 0.004 |
| predicted_R | 0.351 | -0.052 |
| predicted_RBI | 0.512 | 0.052 |
| predicted_SLG | 0.397 | -0.010 |
| predicted_SO | 0.560 | -0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 2.970 | 0.000 |
| predicted_AVG | 0.230 | -0.024 |
| predicted_BB | 0.387 | 0.000 |
| predicted_H | 0.682 | -0.011 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.052 | -0.001 |
| predicted_OBP | 0.319 | -0.016 |
| predicted_R | 0.342 | -0.008 |
| predicted_RBI | 0.500 | -0.012 |
| predicted_SLG | 0.346 | -0.050 |
| predicted_SO | 0.560 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.97), rates preserved: AVG=0.203 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.142 | 0.142 |
| 3B | 0.012 | 0.012 |
| BB | 0.305 | 0.305 |
| H | 0.699 | -0.301 |
| HR | 0.098 | 0.098 |
| RBI | 0.477 | -0.523 |
| SO | 0.695 | -0.305 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.142 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.305 |
| H | 0.000 | -0.699 |
| HR | 0.000 | -0.098 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.477 |
| SO | 1.000 | 0.305 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.163 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | 0.030 |
| predicted_AVG | 0.222 | -0.008 |
| predicted_BB | 0.000 | -0.387 |
| predicted_H | 1.000 | 0.318 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.296 | -0.023 |
| predicted_R | 0.000 | -0.342 |
| predicted_RBI | 1.000 | 0.500 |
| predicted_SLG | 0.367 | 0.021 |
| predicted_SO | 1.000 | 0.440 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.000 | 2.000 | 2.000 | 0.3125 | 0.3889 | 0.4375 | 0.3125 | 0.0000 | 0.2500 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 3.000 | 0.000 | 0.000 | 7.000 | 1.000 | 4.000 | 5.000 | 0.2414 | 0.3333 | 0.3448 | 0.2414 | 0.0000 | 0.2414 | 0.1379 | 0.1724 |
| season | 0.60 | 119 | - | 348.000 | 82.000 | 15.000 | 2.000 | 10.000 | 57.000 | 48.000 | 46.000 | 68.000 | 0.2356 | 0.3300 | 0.3764 | 0.2356 | 0.0287 | 0.1638 | 0.1322 | 0.1954 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2120 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.0320 |
| predicted_AVG | 0.2519 |
| predicted_BB | 0.3870 |
| predicted_H | 0.7640 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3399 |
| predicted_R | 0.2810 |
| predicted_RBI | 0.5810 |
| predicted_SLG | 0.3840 |
| predicted_SO | 0.5460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1260 | 0.2120 | 0.1629 | model_form_blend |
| predicted_3B | 0.0170 | 0.0110 | 0.0144 | model_form_blend |
| predicted_AB | 2.9240 | 3.0320 | 2.9704 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2519 | 0.2537 | model_form_blend |
| predicted_BB | 0.3870 | 0.3870 | 0.3870 | model_form_blend |
| predicted_H | 0.6400 | 0.7640 | 0.6933 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0500 | 0.0560 | 0.0526 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3399 | 0.3343 | model_form_blend |
| predicted_R | 0.4030 | 0.2810 | 0.3506 | model_form_blend |
| predicted_RBI | 0.4600 | 0.5810 | 0.5120 | model_form_blend |
| predicted_SLG | 0.4060 | 0.3840 | 0.3965 | model_form_blend |
| predicted_SO | 0.5710 | 0.5460 | 0.5603 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 385 |
| Season rows before report date | 385 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.316 |
| sl_xwoba | 0.306 |
| sl_xba | 0.243 |
| sl_xslg | 0.334 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.144 | 0.000 | 0.000 | Hitting_2B | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.127 | 3.000 | 3.000 | Hitting_AB | 3.221 | 3.000 | -0.221 | 0.000 |
| predicted_AVG | 0.201 | 0.000 | 0.000 | Hitting_AVG | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_BB | 0.381 | 1.000 | 0.000 | Hitting_BB | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.540 | 0.000 | 0.000 | Hitting_H | 0.711 | 0.000 | -0.711 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_OBP | 0.297 | 0.250 | 0.000 | Hitting_OBP | 0.310 | 0.000 | -0.060 | 0.250 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.528 | 0.000 | -0.528 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_SLG | 0.269 | 0.000 | 0.000 | Hitting_SLG | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_SO | 0.898 | 1.000 | 1.000 | Hitting_SO | 0.932 | 1.000 | 0.068 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3810 -> 1.0000 (boost 0.6190, better) |
| Biggest Deboost | predicted_H: 0.5400 -> 0.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.5400 -> 0.6261 (boost 0.0861, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3015 -> 0.2785 (deboost -0.0230, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6163 -> 1.0000 (boost 0.3837, better) | predicted_BB: 0.3681 -> 0.0000 (deboost -0.3681, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.006 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5332 -> 1.0000 (boost 0.4668, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.3041 (boost 0.3041, better) | predicted_H: 1.0000 -> 0.6644 (deboost -0.3356, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 0.6644 -> 0.0000 (deboost -0.6644, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3150 -> 0.2743 (deboost -0.0407, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.144,
"predicted_3B": 0.017,
"predicted_AB": 3.127,
"predicted_AVG": 0.201,
"predicted_BB": 0.381,
"predicted_H": 0.54,
"predicted_HR": 0.02,
"predicted_OBP": 0.297,
"predicted_R": 0.5,
"predicted_RBI": 0.25,
"predicted_SLG": 0.269,
"predicted_SO": 0.898
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1685,
"predicted_3B": 0.0144,
"predicted_AB": 3.1662,
"predicted_AVG": 0.2134,
"predicted_BB": 0.3681,
"predicted_H": 0.6261,
"predicted_HBP": 0.017,
"predicted_HR": 0.0187,
"predicted_OBP": 0.3015,
"predicted_R": 0.5461,
"predicted_RBI": 0.2707,
"predicted_SLG": 0.2888,
"predicted_SO": 0.9212
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.1685,
"delta": 0.0245,
"percent_delta": 0.1701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0144,
"delta": -0.0026,
"percent_delta": -0.1529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.127,
"after": 3.1662,
"delta": 0.0392,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.2134,
"delta": 0.0124,
"percent_delta": 0.0617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.3681,
"delta": -0.0129,
"percent_delta": -0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.6261,
"delta": 0.0861,
"percent_delta": 0.1594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0187,
"delta": -0.0013,
"percent_delta": -0.065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3015,
"delta": 0.0045,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5461,
"delta": 0.0461,
"percent_delta": 0.0922,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2707,
"delta": 0.0207,
"percent_delta": 0.0828,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.269,
"after": 0.2888,
"delta": 0.0198,
"percent_delta": 0.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.898,
"after": 0.9212,
"delta": 0.0232,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.54,
"after": 0.6261,
"delta": 0.0861,
"percent_delta": 0.1594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 118
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1685,
"predicted_3B": 0.0144,
"predicted_AB": 3.1662,
"predicted_AVG": 0.1946,
"predicted_BB": 0.3681,
"predicted_H": 0.6163,
"predicted_HBP": 0.017,
"predicted_HR": 0.0183,
"predicted_OBP": 0.2785,
"predicted_R": 0.5332,
"predicted_RBI": 0.2643,
"predicted_SLG": 0.2743,
"predicted_SO": 0.9212
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1685,
"after": 0.1685,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0144,
"after": 0.0144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1662,
"after": 3.1662,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2134,
"after": 0.1946,
"delta": -0.0188,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3681,
"after": 0.3681,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6261,
"after": 0.6163,
"delta": -0.0098,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0187,
"after": 0.0183,
"delta": -0.0004,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3015,
"after": 0.2785,
"delta": -0.023,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5461,
"after": 0.5332,
"delta": -0.0129,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2707,
"after": 0.2643,
"delta": -0.0064,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2888,
"after": 0.2743,
"delta": -0.0145,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9212,
"after": 0.9212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3015,
"after": 0.2785,
"delta": -0.023,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.006",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1685,
"after": 0.0,
"delta": -0.1685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0144,
"after": 0.0,
"delta": -0.0144,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1662,
"after": 3.0,
"delta": -0.1662,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3681,
"after": 0.0,
"delta": -0.3681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6163,
"after": 1.0,
"delta": 0.3837,
"percent_delta": 0.6226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0183,
"after": 0.0,
"delta": -0.0183,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2643,
"after": 0.0,
"delta": -0.2643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9212,
"after": 1.0,
"delta": 0.0788,
"percent_delta": 0.0855,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6163,
"after": 1.0,
"delta": 0.3837,
"percent_delta": 0.6226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3681,
"after": 0.0,
"delta": -0.3681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5332,
"after": 1.0,
"delta": 0.4668,
"percent_delta": 0.8755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5332,
"after": 1.0,
"delta": 0.4668,
"percent_delta": 0.8755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1422,
"predicted_3B": 0.0112,
"predicted_BB": 0.285,
"predicted_H": 0.6644,
"predicted_HR": 0.051,
"predicted_RBI": 0.3041,
"predicted_SO": 1.0327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1422,
"delta": 0.1422,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0112,
"delta": 0.0112,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.285,
"delta": 0.285,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6644,
"delta": -0.3356,
"percent_delta": -0.3356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.051,
"delta": 0.051,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3041,
"delta": 0.3041,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0327,
"delta": 0.0327,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3041,
"delta": 0.3041,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6644,
"delta": -0.3356,
"percent_delta": -0.3356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1422,
"after": 0.0,
"delta": -0.1422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0112,
"after": 0.0,
"delta": -0.0112,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.285,
"after": 0.0,
"delta": -0.285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6644,
"after": 0.0,
"delta": -0.6644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3041,
"after": 0.0,
"delta": -0.3041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0327,
"after": 1.0,
"delta": -0.0327,
"percent_delta": -0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6644,
"after": 0.0,
"delta": -0.6644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.213,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.315,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1946,
"after": 0.213,
"delta": 0.0184,
"percent_delta": 0.0946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2785,
"after": 0.285,
"delta": 0.0065,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2743,
"after": 0.315,
"delta": 0.0407,
"percent_delta": 0.1484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1946,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2785,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2743,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.1946,
"delta": -0.0184,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2785,
"delta": -0.0065,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.2743,
"delta": -0.0407,
"percent_delta": -0.1291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.2743,
"delta": -0.0407,
"percent_delta": -0.1291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.127,
"after": 3.0,
"delta": -0.127,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.1946,
"delta": -0.0064,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 1.0,
"delta": 0.619,
"percent_delta": 1.6247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2785,
"delta": -0.0185,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.269,
"after": 0.2743,
"delta": 0.0053,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.898,
"after": 1.0,
"delta": 0.102,
"percent_delta": 0.1136,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.381,
"after": 1.0,
"delta": 0.619,
"percent_delta": 1.6247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.127 | - |
| predicted_AVG | 0.201 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.269 | - |
| predicted_SO | 0.898 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.025 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.166 | 0.039 |
| predicted_AVG | 0.213 | 0.012 |
| predicted_BB | 0.368 | -0.013 |
| predicted_H | 0.626 | 0.086 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.019 | -0.001 |
| predicted_OBP | 0.301 | 0.005 |
| predicted_R | 0.546 | 0.046 |
| predicted_RBI | 0.271 | 0.021 |
| predicted_SLG | 0.289 | 0.020 |
| predicted_SO | 0.921 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.166 | 0.000 |
| predicted_AVG | 0.195 | -0.019 |
| predicted_BB | 0.368 | 0.000 |
| predicted_H | 0.616 | -0.010 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.018 | -0.000 |
| predicted_OBP | 0.279 | -0.023 |
| predicted_R | 0.533 | -0.013 |
| predicted_RBI | 0.264 | -0.006 |
| predicted_SLG | 0.274 | -0.015 |
| predicted_SO | 0.921 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.142 | 0.142 |
| 3B | 0.011 | 0.011 |
| BB | 0.285 | 0.285 |
| H | 0.664 | -0.336 |
| HR | 0.051 | 0.051 |
| RBI | 0.304 | 0.304 |
| SO | 1.033 | 0.033 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.142 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -0.285 |
| H | 0.000 | -0.664 |
| HR | 0.000 | -0.051 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.304 |
| SO | 1.000 | -0.033 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.169 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | -0.166 |
| predicted_AVG | 0.213 | 0.018 |
| predicted_BB | 0.000 | -0.368 |
| predicted_H | 1.000 | 0.384 |
| predicted_HR | 0.000 | -0.018 |
| predicted_OBP | 0.285 | 0.006 |
| predicted_R | 1.000 | 0.467 |
| predicted_RBI | 0.000 | -0.264 |
| predicted_SLG | 0.315 | 0.041 |
| predicted_SO | 1.000 | 0.079 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 6.000 | 0.2778 | 0.3158 | 0.3889 | 0.2778 | 0.0000 | 0.0556 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 2.000 | 0.000 | 0.000 | 3.000 | 6.000 | 4.000 | 9.000 | 0.2069 | 0.3030 | 0.2759 | 0.2069 | 0.0000 | 0.1035 | 0.1379 | 0.3103 |
| season | 0.60 | 118 | - | 369.000 | 81.000 | 17.000 | 2.000 | 2.000 | 36.000 | 59.000 | 45.000 | 106.000 | 0.2195 | 0.3064 | 0.2927 | 0.2195 | 0.0054 | 0.0976 | 0.1220 | 0.2873 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.2180 |
| predicted_AVG | 0.2299 |
| predicted_BB | 0.3510 |
| predicted_H | 0.7400 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.3075 |
| predicted_R | 0.6070 |
| predicted_RBI | 0.2980 |
| predicted_SLG | 0.3151 |
| predicted_SO | 0.9520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1440 | 0.2010 | 0.1685 | model_form_blend |
| predicted_3B | 0.0170 | 0.0110 | 0.0144 | model_form_blend |
| predicted_AB | 3.1270 | 3.2180 | 3.1662 | model_form_blend |
| predicted_AVG | 0.2010 | 0.2299 | 0.2134 | model_form_blend |
| predicted_BB | 0.3810 | 0.3510 | 0.3681 | model_form_blend |
| predicted_H | 0.5400 | 0.7400 | 0.6261 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0200 | 0.0170 | 0.0187 | model_form_blend |
| predicted_OBP | 0.2970 | 0.3075 | 0.3015 | model_form_blend |
| predicted_R | 0.5000 | 0.6070 | 0.5461 | model_form_blend |
| predicted_RBI | 0.2500 | 0.2980 | 0.2707 | model_form_blend |
| predicted_SLG | 0.2690 | 0.3151 | 0.2888 | model_form_blend |
| predicted_SO | 0.8980 | 0.9520 | 0.9212 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 426 |
| Season rows before report date | 426 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.278 |
| sl_xwoba | 0.251 |
| sl_xba | 0.19 |
| sl_xslg | 0.261 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 21.9 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.108 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.041 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 4.660 | 4.000 | 4.000 | Hitting_AB | 3.978 | 4.000 | 0.022 | 0.000 |
| predicted_AVG | 0.252 | 0.250 | 0.250 | Hitting_AVG | 0.306 | 0.000 | -0.056 | 0.250 |
| predicted_BB | 0.169 | 0.000 | 0.000 | Hitting_BB | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 1.170 | 1.000 | 1.000 | Hitting_H | 1.219 | 0.000 | -0.219 | 1.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.279 | 0.250 | 0.250 | Hitting_OBP | 0.335 | 0.000 | -0.085 | 0.250 |
| predicted_R | 0.439 | 0.000 | 0.000 | Hitting_R | 0.453 | 0.000 | -0.453 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_SLG | 0.316 | 0.250 | 0.250 | Hitting_SLG | 0.353 | 0.000 | -0.103 | 0.250 |
| predicted_SO | 0.331 | 0.000 | 0.000 | Hitting_SO | 0.343 | 1.000 | -0.343 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | - |
| Biggest Deboost | predicted_AB: 4.6600 -> 4.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2520 -> 0.2570 (boost 0.0050, better) | predicted_AB: 4.6600 -> 4.3228 (deboost -0.3372, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3105 -> 0.2923 (deboost -0.0182, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_SO: 0.3624 -> 0.0000 (deboost -0.3624, better) | AB rounded to 4 (raw=4.66), rates preserved: AVG=0.206 HR/AB=0.001 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3992 -> 0.0000 (deboost -0.3992, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 4 | 4 | 0 | 3 | 1 | predicted_SO: 0.0000 -> 0.4511 (boost 0.4511, worse) | - | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 4 | 0 | 4 | 1 | 3 | - | predicted_SO: 0.4511 -> 0.0000 (deboost -0.4511, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2923 -> 0.3340 (boost 0.0417, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 12 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3340 -> 0.2923 (deboost -0.0417, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.108,
"predicted_3B": 0.041,
"predicted_AB": 4.66,
"predicted_AVG": 0.252,
"predicted_BB": 0.169,
"predicted_H": 1.17,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.439,
"predicted_RBI": 0.3,
"predicted_SLG": 0.316,
"predicted_SO": 0.331
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0997,
"predicted_3B": 0.0336,
"predicted_AB": 4.3228,
"predicted_AVG": 0.257,
"predicted_BB": 0.1428,
"predicted_H": 1.1063,
"predicted_HBP": 0.002,
"predicted_HR": 0.0026,
"predicted_OBP": 0.2798,
"predicted_R": 0.4089,
"predicted_RBI": 0.2839,
"predicted_SLG": 0.3105,
"predicted_SO": 0.3624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.0997,
"delta": -0.0083,
"percent_delta": -0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0336,
"delta": -0.0074,
"percent_delta": -0.1805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.3228,
"delta": -0.3372,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.257,
"delta": 0.005,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.1428,
"delta": -0.0262,
"percent_delta": -0.155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.1063,
"delta": -0.0637,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0026,
"delta": 0.0026,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2798,
"delta": 0.0008,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.4089,
"delta": -0.0301,
"percent_delta": -0.0686,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2839,
"delta": -0.0161,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3105,
"delta": -0.0055,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.331,
"after": 0.3624,
"delta": 0.0314,
"percent_delta": 0.0949,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.257,
"delta": 0.005,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.66,
"after": 4.3228,
"delta": -0.3372,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 148
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0997,
"predicted_3B": 0.0336,
"predicted_AB": 4.3228,
"predicted_AVG": 0.2519,
"predicted_BB": 0.1428,
"predicted_H": 1.0889,
"predicted_HBP": 0.002,
"predicted_HR": 0.0025,
"predicted_OBP": 0.2758,
"predicted_R": 0.3992,
"predicted_RBI": 0.2772,
"predicted_SLG": 0.2923,
"predicted_SO": 0.3624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0997,
"after": 0.0997,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0336,
"after": 0.0336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3228,
"after": 4.3228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2519,
"delta": -0.0051,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1428,
"after": 0.1428,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1063,
"after": 1.0889,
"delta": -0.0174,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0026,
"after": 0.0025,
"delta": -0.0001,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2798,
"after": 0.2758,
"delta": -0.004,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4089,
"after": 0.3992,
"delta": -0.0097,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2839,
"after": 0.2772,
"delta": -0.0067,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3105,
"after": 0.2923,
"delta": -0.0182,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3624,
"after": 0.3624,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3105,
"after": 0.2923,
"delta": -0.0182,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.66), rates preserved: AVG=0.206 HR/AB=0.001",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0997,
"after": 0.0,
"delta": -0.0997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0336,
"after": 0.0,
"delta": -0.0336,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3228,
"after": 4.0,
"delta": -0.3228,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1428,
"after": 0.0,
"delta": -0.1428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0889,
"after": 1.0,
"delta": -0.0889,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0025,
"after": 0.0,
"delta": -0.0025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2772,
"after": 0.0,
"delta": -0.2772,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3624,
"after": 0.0,
"delta": -0.3624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3624,
"after": 0.0,
"delta": -0.3624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3992,
"after": 0.0,
"delta": -0.3992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3992,
"after": 0.0,
"delta": -0.3992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1478,
"predicted_3B": 0.0205,
"predicted_BB": 0.1674,
"predicted_H": 0.9703,
"predicted_HR": 0.0381,
"predicted_RBI": 0.3123,
"predicted_SO": 0.4511
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1478,
"delta": 0.1478,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0205,
"delta": 0.0205,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1674,
"delta": 0.1674,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9703,
"delta": -0.0297,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0381,
"delta": 0.0381,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3123,
"delta": 0.3123,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.4511,
"delta": 0.4511,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.4511,
"delta": 0.4511,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1478,
"after": 0.0,
"delta": -0.1478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0205,
"after": 0.0,
"delta": -0.0205,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1674,
"after": 0.0,
"delta": -0.1674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9703,
"after": 1.0,
"delta": 0.0297,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0381,
"after": 0.0,
"delta": -0.0381,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3123,
"after": 0.0,
"delta": -0.3123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4511,
"after": 0.0,
"delta": -0.4511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4511,
"after": 0.0,
"delta": -0.4511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.254,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.291,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.334,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.254,
"delta": 0.0021,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2758,
"after": 0.291,
"delta": 0.0152,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2923,
"after": 0.334,
"delta": 0.0417,
"percent_delta": 0.1427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2923,
"after": 0.334,
"delta": 0.0417,
"percent_delta": 0.1427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 12,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2519,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2758,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2923,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2519,
"delta": -0.0021,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2758,
"delta": -0.0152,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.2923,
"delta": -0.0417,
"percent_delta": -0.1249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.2923,
"delta": -0.0417,
"percent_delta": -0.1249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.0,
"delta": -0.66,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2519,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.0,
"delta": -0.17,
"percent_delta": -0.1453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2758,
"delta": -0.0032,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.2923,
"delta": -0.0237,
"percent_delta": -0.075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.331,
"after": 0.0,
"delta": -0.331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.66,
"after": 4.0,
"delta": -0.66,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | - |
| predicted_3B | 0.041 | - |
| predicted_AB | 4.660 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.169 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.439 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.316 | - |
| predicted_SO | 0.331 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.100 | -0.008 |
| predicted_3B | 0.034 | -0.007 |
| predicted_AB | 4.323 | -0.337 |
| predicted_AVG | 0.257 | 0.005 |
| predicted_BB | 0.143 | -0.026 |
| predicted_H | 1.106 | -0.064 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.003 | 0.003 |
| predicted_OBP | 0.280 | 0.001 |
| predicted_R | 0.409 | -0.030 |
| predicted_RBI | 0.284 | -0.016 |
| predicted_SLG | 0.310 | -0.006 |
| predicted_SO | 0.362 | 0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.100 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 4.323 | 0.000 |
| predicted_AVG | 0.252 | -0.005 |
| predicted_BB | 0.143 | 0.000 |
| predicted_H | 1.089 | -0.017 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.003 | -0.000 |
| predicted_OBP | 0.276 | -0.004 |
| predicted_R | 0.399 | -0.010 |
| predicted_RBI | 0.277 | -0.007 |
| predicted_SLG | 0.292 | -0.018 |
| predicted_SO | 0.362 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.66), rates preserved: AVG=0.206 HR/AB=0.001
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.148 | 0.148 |
| 3B | 0.021 | 0.021 |
| BB | 0.167 | 0.167 |
| H | 0.970 | -0.030 |
| HR | 0.038 | 0.038 |
| RBI | 0.312 | 0.312 |
| SO | 0.451 | 0.451 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.148 |
| 3B | 0.000 | -0.021 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.167 |
| H | 1.000 | 0.030 |
| HR | 0.000 | -0.038 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.312 |
| SO | 0.000 | -0.451 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.100 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | -0.323 |
| predicted_AVG | 0.254 | 0.002 |
| predicted_BB | 0.000 | -0.143 |
| predicted_H | 1.000 | -0.089 |
| predicted_HR | 0.000 | -0.003 |
| predicted_OBP | 0.291 | 0.015 |
| predicted_R | 0.000 | -0.399 |
| predicted_RBI | 0.000 | -0.277 |
| predicted_SLG | 0.334 | 0.042 |
| predicted_SO | 0.000 | -0.362 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.1579 | 0.1579 | 0.1579 | 0.1579 | 0.0000 | 0.0000 | 0.0000 | 0.1579 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 0.000 | 0.000 | 5.000 | 3.000 | 0.000 | 3.000 | 0.2500 | 0.2500 | 0.2750 | 0.2500 | 0.0000 | 0.1250 | 0.0000 | 0.0750 |
| season | 0.60 | 148 | - | 575.000 | 175.000 | 16.000 | 6.000 | 0.000 | 38.000 | 65.000 | 25.000 | 49.000 | 0.3043 | 0.3300 | 0.3530 | 0.3044 | 0.0000 | 0.0661 | 0.0435 | 0.0852 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.8870 |
| predicted_AVG | 0.2634 |
| predicted_BB | 0.1090 |
| predicted_H | 1.0240 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0060 |
| predicted_OBP | 0.2808 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.2630 |
| predicted_SLG | 0.3035 |
| predicted_SO | 0.4030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1080 | 0.0890 | 0.0997 | model_form_blend |
| predicted_3B | 0.0410 | 0.0240 | 0.0336 | model_form_blend |
| predicted_AB | 4.6600 | 3.8870 | 4.3228 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2634 | 0.2570 | model_form_blend |
| predicted_BB | 0.1690 | 0.1090 | 0.1428 | model_form_blend |
| predicted_H | 1.1700 | 1.0240 | 1.1063 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0000 | 0.0060 | 0.0026 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2808 | 0.2798 | model_form_blend |
| predicted_R | 0.4390 | 0.3700 | 0.4089 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2630 | 0.2839 | model_form_blend |
| predicted_SLG | 0.3160 | 0.3035 | 0.3105 | model_form_blend |
| predicted_SO | 0.3310 | 0.4030 | 0.3624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 594 |
| Season rows before report date | 594 |
| Report year | 2026 |
| Profile rows used | 148 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 7.8 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.305 |
| sl_xwoba | 0.263 |
| sl_xba | 0.261 |
| sl_xslg | 0.297 |
| sl_sweet_spot_percent | 25.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 13.4 |
| sl_exit_velocity_avg | 83.6 |
| sl_launch_angle_avg | 1.2 |
| sl_whiff_percent | 10.8 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.306 | 3.000 | 4.000 | Hitting_AB | 3.420 | 3.000 | -0.420 | 0.000 |
| predicted_AVG | 0.277 | 0.000 | 0.250 | Hitting_AVG | 0.262 | 0.333 | -0.262 | -0.333 |
| predicted_BB | 0.306 | 1.000 | 0.000 | Hitting_BB | 0.337 | 0.000 | 0.663 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.897 | 1.000 | -0.897 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.328 | 0.333 | -0.078 | -0.083 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.527 | 0.000 | -0.527 | 0.000 |
| predicted_SLG | 0.430 | 0.000 | 0.250 | Hitting_SLG | 0.513 | 0.333 | -0.513 | -0.333 |
| predicted_SO | 0.750 | 1.000 | 1.000 | Hitting_SO | 0.724 | 1.000 | 0.276 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3060 -> 1.0000 (boost 0.6940, better) |
| Biggest Deboost | predicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.3060 -> 3.4017 (boost 0.0957, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4444 -> 0.4591 (boost 0.0147, better) | predicted_AVG: 0.2776 -> 0.2706 (deboost -0.0070, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.4017 -> 4.0000 (boost 0.5983, better) | predicted_RBI: 0.4472 -> 0.0000 (deboost -0.4472, worse) | AB rounded to 4 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.042 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5072 -> 1.0000 (boost 0.4928, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.4805 (boost 0.4805, better) | predicted_H: 1.0000 -> 0.8006 (deboost -0.1994, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.8006 -> 1.0000 (boost 0.1994, better) | predicted_RBI: 0.4805 -> 0.0000 (deboost -0.4805, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2706 -> 0.2240 (deboost -0.0466, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 11 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2240 -> 0.2706 (boost 0.0466, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"position": "RF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.042,
"predicted_AB": 3.306,
"predicted_AVG": 0.277,
"predicted_BB": 0.306,
"predicted_H": 0.9,
"predicted_HR": 0.15,
"predicted_OBP": 0.331,
"predicted_R": 0.514,
"predicted_RBI": 0.44,
"predicted_SLG": 0.43,
"predicted_SO": 0.75
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.0349,
"predicted_AB": 3.4017,
"predicted_AVG": 0.2776,
"predicted_BB": 0.2976,
"predicted_H": 0.9353,
"predicted_HBP": 0.003,
"predicted_HR": 0.1466,
"predicted_OBP": 0.3318,
"predicted_R": 0.5195,
"predicted_RBI": 0.4581,
"predicted_SLG": 0.4444,
"predicted_SO": 0.7911
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.14,
"delta": 0.029,
"percent_delta": 0.2613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0349,
"delta": -0.0071,
"percent_delta": -0.169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.306,
"after": 3.4017,
"delta": 0.0957,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2776,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.2976,
"delta": -0.0084,
"percent_delta": -0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9353,
"delta": 0.0353,
"percent_delta": 0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1466,
"delta": -0.0034,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3318,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5195,
"delta": 0.0055,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4581,
"delta": 0.0181,
"percent_delta": 0.0411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4444,
"delta": 0.0144,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.7911,
"delta": 0.0411,
"percent_delta": 0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.306,
"after": 3.4017,
"delta": 0.0957,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.0349,
"predicted_AB": 3.4017,
"predicted_AVG": 0.2706,
"predicted_BB": 0.2976,
"predicted_H": 0.9206,
"predicted_HBP": 0.003,
"predicted_HR": 0.1437,
"predicted_OBP": 0.3293,
"predicted_R": 0.5072,
"predicted_RBI": 0.4472,
"predicted_SLG": 0.4591,
"predicted_SO": 0.7911
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0349,
"after": 0.0349,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4017,
"after": 3.4017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2776,
"after": 0.2706,
"delta": -0.007,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2976,
"after": 0.2976,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9353,
"after": 0.9206,
"delta": -0.0147,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1466,
"after": 0.1437,
"delta": -0.0029,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3318,
"after": 0.3293,
"delta": -0.0025,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5195,
"after": 0.5072,
"delta": -0.0123,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4581,
"after": 0.4472,
"delta": -0.0109,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4444,
"after": 0.4591,
"delta": 0.0147,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7911,
"after": 0.7911,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4444,
"after": 0.4591,
"delta": 0.0147,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2776,
"after": 0.2706,
"delta": -0.007,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0349,
"after": 0.0,
"delta": -0.0349,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4017,
"after": 4.0,
"delta": 0.5983,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2976,
"after": 0.0,
"delta": -0.2976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9206,
"after": 1.0,
"delta": 0.0794,
"percent_delta": 0.0862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1437,
"after": 0.0,
"delta": -0.1437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4472,
"after": 0.0,
"delta": -0.4472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7911,
"after": 1.0,
"delta": 0.2089,
"percent_delta": 0.2641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4017,
"after": 4.0,
"delta": 0.5983,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4472,
"after": 0.0,
"delta": -0.4472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5072,
"after": 1.0,
"delta": 0.4928,
"percent_delta": 0.9716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5072,
"after": 1.0,
"delta": 0.4928,
"percent_delta": 0.9716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1609,
"predicted_3B": 0.0194,
"predicted_BB": 0.2651,
"predicted_H": 0.8006,
"predicted_HR": 0.1773,
"predicted_RBI": 0.4805,
"predicted_SO": 0.9863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1609,
"delta": 0.1609,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0194,
"delta": 0.0194,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2651,
"delta": 0.2651,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8006,
"delta": -0.1994,
"percent_delta": -0.1994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1773,
"delta": 0.1773,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4805,
"delta": 0.4805,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9863,
"delta": -0.0137,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4805,
"delta": 0.4805,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8006,
"delta": -0.1994,
"percent_delta": -0.1994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1609,
"after": 0.0,
"delta": -0.1609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0194,
"after": 0.0,
"delta": -0.0194,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2651,
"after": 0.0,
"delta": -0.2651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8006,
"after": 1.0,
"delta": 0.1994,
"percent_delta": 0.2491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1773,
"after": 0.0,
"delta": -0.1773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4805,
"after": 0.0,
"delta": -0.4805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9863,
"after": 1.0,
"delta": 0.0137,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8006,
"after": 1.0,
"delta": 0.1994,
"percent_delta": 0.2491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4805,
"after": 0.0,
"delta": -0.4805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.224,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.429,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2706,
"after": 0.224,
"delta": -0.0466,
"percent_delta": -0.1722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3293,
"after": 0.284,
"delta": -0.0453,
"percent_delta": -0.1376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4591,
"after": 0.429,
"delta": -0.0301,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2706,
"after": 0.224,
"delta": -0.0466,
"percent_delta": -0.1722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 11,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2706,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4591,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2706,
"delta": 0.0466,
"percent_delta": 0.2082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.3293,
"delta": 0.0453,
"percent_delta": 0.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4591,
"delta": 0.0301,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2706,
"delta": 0.0466,
"percent_delta": 0.2082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.306,
"after": 3.0,
"delta": -0.306,
"percent_delta": -0.0926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2706,
"delta": -0.0064,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3293,
"delta": -0.0017,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4591,
"delta": 0.0291,
"percent_delta": 0.0677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 3.306 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.306 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.750 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.029 |
| predicted_3B | 0.035 | -0.007 |
| predicted_AB | 3.402 | 0.096 |
| predicted_AVG | 0.278 | 0.001 |
| predicted_BB | 0.298 | -0.008 |
| predicted_H | 0.935 | 0.035 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.147 | -0.003 |
| predicted_OBP | 0.332 | 0.001 |
| predicted_R | 0.519 | 0.005 |
| predicted_RBI | 0.458 | 0.018 |
| predicted_SLG | 0.444 | 0.014 |
| predicted_SO | 0.791 | 0.041 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.402 | 0.000 |
| predicted_AVG | 0.271 | -0.007 |
| predicted_BB | 0.298 | 0.000 |
| predicted_H | 0.921 | -0.015 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.144 | -0.003 |
| predicted_OBP | 0.329 | -0.003 |
| predicted_R | 0.507 | -0.012 |
| predicted_RBI | 0.447 | -0.011 |
| predicted_SLG | 0.459 | 0.015 |
| predicted_SO | 0.791 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.161 | 0.161 |
| 3B | 0.019 | 0.019 |
| BB | 0.265 | 0.265 |
| H | 0.801 | -0.199 |
| HR | 0.177 | 0.177 |
| RBI | 0.480 | 0.480 |
| SO | 0.986 | -0.014 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.161 |
| 3B | 0.000 | -0.019 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -0.265 |
| H | 1.000 | 0.199 |
| HR | 0.000 | -0.177 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.480 |
| SO | 1.000 | 0.014 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.140 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 4.000 | 0.598 |
| predicted_AVG | 0.224 | -0.047 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.079 |
| predicted_HR | 0.000 | -0.144 |
| predicted_OBP | 0.284 | -0.045 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 0.000 | -0.447 |
| predicted_SLG | 0.429 | -0.030 |
| predicted_SO | 1.000 | 0.209 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.3500 | 0.3810 | 0.4500 | 0.3500 | 0.0000 | 0.1500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 10.000 | 0.2778 | 0.3333 | 0.4167 | 0.2778 | 0.0278 | 0.1111 | 0.0833 | 0.2778 |
| season | 0.60 | 72 | - | 238.000 | 62.000 | 8.000 | 3.000 | 14.000 | 34.000 | 37.000 | 22.000 | 54.000 | 0.2605 | 0.3218 | 0.4958 | 0.2605 | 0.0588 | 0.1429 | 0.0924 | 0.2269 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.5340 |
| predicted_AVG | 0.2784 |
| predicted_BB | 0.2860 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.3328 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.4830 |
| predicted_SLG | 0.4643 |
| predicted_SO | 0.8480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1800 | 0.1400 | model_form_blend |
| predicted_3B | 0.0420 | 0.0250 | 0.0349 | model_form_blend |
| predicted_AB | 3.3060 | 3.5340 | 3.4017 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2784 | 0.2776 | model_form_blend |
| predicted_BB | 0.3060 | 0.2860 | 0.2976 | model_form_blend |
| predicted_H | 0.9000 | 0.9840 | 0.9353 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1500 | 0.1420 | 0.1466 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3328 | 0.3318 | model_form_blend |
| predicted_R | 0.5140 | 0.5270 | 0.5195 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4830 | 0.4581 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4643 | 0.4444 | model_form_blend |
| predicted_SO | 0.7500 | 0.8480 | 0.7911 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_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 Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 683748 |
| playerID | 683748 |
| playerName | Victor Mesa Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.355 |
| sl_xwoba | 0.329 |
| sl_xba | 0.249 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 21.0 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.500 | 3.000 | 0.500 | -1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.000 | 0.000 | 2.000 | 4.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 4.100 | 4.000 | 2.900 | 3.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.370 | 5.100 | -0.270 | 0.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 4.300 | 4.000 | -0.300 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642547",
"player_name": "Freddy Peralta",
"position": "Starter",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 4.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.000 | 3.000 | 16.000 | 9.000 | 23.000 | 1.000 | 0.9643 | 0.8929 | 0.1071 | 0.5714 | 0.3214 | 0.8214 | 0.0357 |
| last_10 | 0.35 | 10 | 55.100 | 20.000 | 41.000 | 15.000 | 43.000 | 6.000 | 3.2530 | 1.0120 | 0.3614 | 0.7410 | 0.2711 | 0.7771 | 0.1084 |
| season | 0.20 | 32 | 169.000 | 83.000 | 161.000 | 63.000 | 156.000 | 23.000 | 4.4201 | 1.3254 | 0.4911 | 0.9527 | 0.3728 | 0.9231 | 0.1361 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7970 |
| predicted_ER | 1.6990 |
| predicted_ERA | 2.7486 |
| predicted_H | 4.1420 |
| predicted_HR | 0.5020 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.6790 |
| predicted_WHIP | 1.0675 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.7970 | 1.8796 | model_form_blend |
| predicted_ER | 4.0000 | 1.6990 | 2.6357 | model_form_blend |
| predicted_ERA | - | 2.7486 | 2.7486 | form_only |
| predicted_H | 7.0000 | 4.1420 | 5.3054 | model_form_blend |
| predicted_HR | 1.0000 | 0.5020 | 0.7047 | model_form_blend |
| predicted_IP | 5.1000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 4.0000 | 4.6790 | 4.4026 | model_form_blend |
| predicted_WHIP | - | 1.0675 | 1.0675 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 7 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 4 |
| HR | 1 |
| BF | 25 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.42 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 7 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.1 |
| Pitching_Pitches | 93 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260925_TB@PHI |
| game_type | full |
| mlbID | 642547 |
| playerID | 642547 |
| playerName | Freddy Peralta |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-25 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.323 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 37.2 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 48.0 |
| sl_avg_best_speed | 76.423850202 |
| sl_avg_hyper_speed | 93.480881149 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.530 | 0.000 | -0.530 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.935 | 1.000 | 0.065 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.985 | 2.000 | 0.015 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641329",
"player_name": "Bryan Baker",
"position": "Closer",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 3.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.6000 | 0.2000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 0.000 | 5.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 0.7742 | 0.0000 | 0.4839 | 0.2903 | 0.5806 | 0.0000 |
| season | 0.20 | 64 | 63.100 | 9.000 | 34.000 | 20.000 | 65.000 | 4.000 | 1.2789 | 0.8526 | 0.1421 | 0.5368 | 0.3158 | 1.0263 | 0.0632 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2890 |
| predicted_ER | 0.1630 |
| predicted_ERA | 1.4626 |
| predicted_H | 0.6680 |
| predicted_HR | 0.0500 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7490 |
| predicted_WHIP | 0.9572 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2890 | 0.6209 | model_form_blend |
| predicted_ER | 0.0000 | 0.1630 | 0.0869 | model_form_blend |
| predicted_ERA | - | 1.4626 | 1.4626 | form_only |
| predicted_H | 0.0000 | 0.6680 | 0.3561 | model_form_blend |
| predicted_HR | 0.0000 | 0.0500 | 0.0267 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7490 | 0.8662 | model_form_blend |
| predicted_WHIP | - | 0.9572 | 0.9572 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 66 |
| Season rows before report date | 66 |
| Report year | 2026 |
| Profile rows used | 64 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.231 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 74.996232987 |
| sl_avg_hyper_speed | 93.55885961 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.143 | 0.000 | 0.857 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.595 | 1.000 | -0.595 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.793 | 1.000 | 0.207 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.071 | 2.000 | -0.071 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592155",
"player_name": "Cam Booser",
"position": "Middle Reliever (High Leverage)",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.2500 | 0.0000 | 0.2500 | 0.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 7.200 | 0.000 | 2.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.2609 | 0.0000 | 0.2609 | 0.0000 | 0.7826 | 0.0000 |
| season | 0.20 | 42 | 41.000 | 9.000 | 25.000 | 6.000 | 45.000 | 5.000 | 1.9756 | 0.7561 | 0.2195 | 0.6098 | 0.1463 | 1.0976 | 0.1220 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1330 |
| predicted_ER | 0.1820 |
| predicted_ERA | 1.9637 |
| predicted_H | 0.4750 |
| predicted_HR | 0.0580 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7830 |
| predicted_WHIP | 0.7300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1330 | 0.5725 | model_form_blend |
| predicted_ER | 0.0000 | 0.1820 | 0.0897 | model_form_blend |
| predicted_ERA | - | 1.9637 | 1.9637 | form_only |
| predicted_H | 0.0000 | 0.4750 | 0.2342 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0286 | model_form_blend |
| predicted_IP | 1.0000 | 0.2000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7830 | 0.8930 | model_form_blend |
| predicted_WHIP | - | 0.7300 | 0.7300 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.98 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260926_TB@PHI |
| game_type | full |
| mlbID | 592155 |
| playerID | 592155 |
| playerName | Cam Booser |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-26 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.222 |
| sl_xwoba | 0.252 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 37.6 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 55.5 |
| sl_avg_best_speed | 81.083061042 |
| sl_avg_hyper_speed | 94.197371771 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.775 | 0.000 | -0.775 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.883 | 1.000 | 0.117 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.887 | 1.000 | -0.887 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687330",
"player_name": "Kevin Kelly",
"position": "Setup Man",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 5.000 | 0.000 | 6.000 | 0.000 | 1.9286 | 1.0714 | 0.2143 | 1.0714 | 0.0000 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 6.000 | 12.000 | 0.000 | 11.000 | 1.000 | 6.7500 | 1.5000 | 0.7500 | 1.5000 | 0.0000 | 1.3750 | 0.1250 |
| season | 0.20 | 71 | 73.200 | 20.000 | 55.000 | 11.000 | 63.000 | 6.000 | 2.4434 | 0.8959 | 0.2715 | 0.7466 | 0.1493 | 0.8552 | 0.0814 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1060 |
| predicted_ER | 0.4000 |
| predicted_ERA | 3.9416 |
| predicted_H | 1.0160 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0560 |
| predicted_WHIP | 1.2304 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1060 | 0.0578 | model_form_blend |
| predicted_ER | 0.0000 | 0.4000 | 0.2182 | model_form_blend |
| predicted_ERA | - | 3.9416 | 3.9416 | form_only |
| predicted_H | 0.0000 | 1.0160 | 0.5542 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0409 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0560 | 0.5760 | model_form_blend |
| predicted_WHIP | - | 1.2304 | 1.2304 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 71 |
| Season rows before report date | 71 |
| Report year | 2026 |
| Profile rows used | 71 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.44 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260925_TB@PHI |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-25 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.246 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 44.6 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 78.7371153 |
| sl_avg_hyper_speed | 94.606937387 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.529 | 0.000 | -0.529 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.039 | 1.000 | -1.039 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.018 | 1.000 | -0.818 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.098 | 2.000 | -1.098 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642121",
"player_name": "Cole Sulser",
"position": "Middle Reliever (High Leverage)",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 4.000 | 2.000 | 6.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 0.8000 | 0.4000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 3.000 | 8.000 | 1.000 | 1.8000 | 0.9000 | 0.2000 | 0.6000 | 0.3000 | 0.8000 | 0.1000 |
| season | 0.20 | 50 | 56.100 | 24.000 | 51.000 | 16.000 | 56.000 | 7.000 | 3.8343 | 1.1893 | 0.4260 | 0.9053 | 0.2840 | 0.9941 | 0.1243 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3180 |
| predicted_ER | 0.2930 |
| predicted_ERA | 2.9321 |
| predicted_H | 0.7390 |
| predicted_HR | 0.0780 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8940 |
| predicted_WHIP | 1.1746 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3180 | 0.1663 | model_form_blend |
| predicted_ER | 0.0000 | 0.2930 | 0.1532 | model_form_blend |
| predicted_ERA | - | 2.9321 | 2.9321 | form_only |
| predicted_H | 0.0000 | 0.7390 | 0.3865 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0408 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8940 | 0.4675 | model_form_blend |
| predicted_WHIP | - | 1.1746 | 1.1746 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 51 |
| Season rows before report date | 51 |
| Report year | 2026 |
| Profile rows used | 50 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 8 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.31 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 25 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260926_TB@PHI |
| game_type | full |
| mlbID | 642121 |
| playerID | 642121 |
| playerName | Cole Sulser |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-26 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.306 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 41.1 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 51.1 |
| sl_avg_best_speed | 75.704230875 |
| sl_avg_hyper_speed | 94.345345975 |